A. python pandas.DataFrame.plot()画出来的图如何显示x轴出来。
df.reset_index()
详细用法见文档
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reset_index.html
B. python,爬虫,pandas的DataFrame处理后的数据,输出到文本后中间这些数据都没有展开怎么办
爬虫+pandas这个组合我还是头一次见。 据我所知pandas是专门用来处理数学问题的,虽然也提供了一些字符串相关的函数,但毕竟能力有限,建议换一个方式吧,比如数据库来储存会比较好。
但还是要帮你解决你现在的这个问题才行。
图片的那个情况是不是用print函数直接输出在控制台上了,然后手动复制到文本文件里的?
如果是的话,那肯定不会显示全的。 如果想显示全的话,且数据量少的情况下(100个以内),可以用遍历的方法,遍历的时候print每行的数据。
或者直接用to_csv或者to_excel方法输出到文件里面。
C. python用dataframe的to_csv方法写入到CSV文件,如果是数据列,以0开头的时候CSV文件里面不显示
修改csv列格式没用,保存不了,下次打开还是原样,如果带零列的数据类型是数值,需要将其转换成字符串类型:df['带零列']=df['带零列'].astype(str)
还是不行的话,这就是打开csv的工具的原因了,你很有可能是用Excel打开的csv文件,其实质还是字符串,如果你用Notepad++或者记事本打开,显示就是带0的。
如果想还是用Excel打开,看到带0的,可以这样解决:df['带零列']='\t'+df['带零列'],即在字符串前加个横向制表符,这样再用Excel打开就显示没问题了。
希望能帮到你。
D. python已知某个元素,怎么得到该元素在dataframe中的位置
虽然时隔快四年的提问了,但还是不得不给出最好的答案,那个回答说“for循环”的答案简直是牛头不对马嘴啊,
我的答案:
pandas.dataframe中根据条件获取元素所在的位置(索引)
df=pd.DataFrame({'BoolCol':[1,2,3,3,4],'attr':[22,33,22,44,66]},
index=[10,20,30,40,50])
print(df)
a=df[(df.BoolCol==3)&(df.attr==22)].index.tolist()
print(a)
E. python的dataframe(py.read_table)读取txt,但是间隔为大于两个且个数不定的空格,如何操作
先见数据转为python数据格式,
像Harvard University很难分割的可以用re正则表达式s{2,5}
尝试对齐操作
F. python对dataframe列里的元素进行修改
直接在参数一栏设置一下即可:
df=pd.read_csv('text.csv', dtype={'编号':str}
这样,把你要转换的列的名字设定好, “编号”列中的数据读取为str
这样,读取到的数据就是按照我们的要求的了。
G. 将dataframe的一行转成一个字典python
有时候,在Python中需要将dataframe类型转换为字典类型,下面的方法帮助我们解决这一问题。 任务代码。
# encoding: utf-8
import pandas as pd
a = ['Name', 'Age', 'Gender']
b = ['Ali', '19', 'China']
data = pd.DataFrame(zip(a, b), columns=['project', 'attribute'])
print data
dict_country = data.set_index('project').T.to_dict('list')
print dict_country
输出显示
project attribute
0 Name Ali
1 Age 19
2 Gender China
{'Gender': ['China'], 'Age': ['19'], 'Name': ['Ali']}
值得注意的是,转置之前需要设置指定的索引,否则会按照默认索引转换成这样:
{0: ['Name', 'Ali'], 1: ['Age', '19'], 2: ['Gender', 'China']}
H. python对dataframe进行操作
建议参考一下dataframe文档,里面有相应的方法,不需要使用for循环遍历,for循环遍历会拖慢程序。对于dataframe中数据检索可以使用下面的方法。
【全部】df.values
【name列的数据】df['name'].values
【loc检索A列】df.loc['A']
【iloc进行行检索】df.iloc[0]
【直接使用名字进行列检索,但不适合行检索】df['name']
第一步:准备一些数据运行效果展示
完美运行,不用操心索引+1的问题,也不用再创建一个DataFrame实例!
希望能够采纳!