我在pandas
上遇到了一些麻烦。我用pandas
打开了一个.xlsx文件,但是当我试图过滤任何信息时,它显示了错误
AttributeError: 'dict' object has no attribute 'head' #(or iloc, or loc, or anything else from DF/pandas)#
所以,我做了一些研究,意识到我的表变成了一本字典(为什么?)
我试着把这个乱七八糟的东西转换成一个合适的字典,所以我可以把它转换成一个合适的df
,因为现在,它显示了两者的一些特征。我需要一个df
,就它。
代码如下:
import pandas as pd
df = pd.read_excel('report.xlsx', sheet_name = ["May"])
print(df)
结果:它显示了表格加上"[60行x 24列]">
但是当我尝试过滤或迭代时,它会显示所有可能的属性错误。
Somethings I tried:.from_dict
,xls.parse
/(df.to_dict
)。当我尝试将df
正确地转换为dict时,它显示
ValueError: If using all scalar values, you must pass an index
我尝试了这个链接:[https://stackoverflow.com/questions/17839973/constructing-pandas-dataframe-from-values-in-variables-gives-valueerror-if-usi)][1],但它不起作用。由于某种原因,它在一个错误中说我应该提供二维参数,这就是为什么我试图创建一个新的字典并做一种"追加",但它不太工作…
然后我尝试了所有的东西来设置索引,但它不让我重命名列,因为它说.iloc
不是dict的属性)
我是python的新手,但我从未见过'pd '。read_excel'打开一个数据帧作为'字典'。我该怎么办?
谢谢![1]:从变量中的值构造pandas DataFrame给出了"ValueError:如果使用所有标量值,你必须传递一个索引">
如果它是dict
或DataFrames
试试…
>>> dict_df = {"a":pd.DataFrame([{1:2,3:4},{1:4,4:6}]), "b":pd.DataFrame([{7:9},{1:4}])}
>>> dict_df
{'a': 1 3 4
0 2 4.0 NaN
1 4 NaN 6.0, 'b': 7 1
0 9.0 NaN
1 NaN 4.0}
>>> pd.concat(dict_df.values(),keys=dict_df.keys(), axis=1)
a b
1 3 4 7 1
0 2 4.0 NaN 9.0 NaN
1 4 NaN 6.0 NaN 4.0