AttributeError: 'list' object has no attribute 'keys' when attempting to create DataFrame from list of dicts
非常感谢您的帮助,
我有一个字典列表,我需要放在一个数据框中。 我知道熊猫的正常方法是
1 | final_df=pd.DataFrame.from_records(Mixed_and_Poured[0], index='year') |
其中Mixed_and_poured是一个列表,其中包含另一个实际包含字典的列表
1 2 | print Mixed_and_Poured [[{'Country': 'Brazil', u'Internet users': '2.9', 'Year': '2000'}, {'Country': 'Brazil', u'Internet users': '21', 'Year': '2005'}, {'Country': 'Brazil', u'Internet users': '40.7', 'Year': '2010'}, {'Country': 'Brazil', u'Internet users': '45', 'Year': '2011'}, |
我发誓
1 | final_df=pd.DataFrame.from_records(Mixed_and_Poured[0], index='year') |
刚刚工作!! 但是当我今天跑它时它会抛出
1 | AttributeError: 'list' object has no attribute 'keys' |
为什么现在在这个列表中寻找密钥?
事实证明我实际上并没有在一个只是字典的列表上运行,那里有一个隐藏在那里的小混蛋列表。
对不起,你会的!
我无法使用给定的数据重现您的错误,我得到一个KeyError。
但为什么甚至使用from_records?
1 | pd.DataFrame(Mixed_and_Poured[0]).set_index('Year') |
日期:
1 2 3 4 5 6 | Country Internet users Year 2000 Brazil 2.9 2005 Brazil 21 2010 Brazil 40.7 2011 Brazil 45 |
当列表中的一些项目不可用时,我也遇到了这个问题(无)。 这个名单很大,所以起初我没有注意到。 我使用的最简单的快速修复是创建一个新列表,只有项目是无:
1 2 3 4 | list1 = [2,3,4, None, 2] list1 = [item for item in list1 if item != None] list1 [2, 3, 4, 2] |