我有文本文件包含字典,当尝试使用熊猫在类中的数据框中导入和打印时,它显示错误为“ ValueError:DataFrame构造函数未正确调用!”。但是当尝试在单元格中的jupyter笔记本中导入和打印时。它能够打印数据框。不知道错在哪里。数据框如下。
{'id_1' : {'name': 'person1','height': u'150', 'weight': 56, 'age' : 20, 'DOB' : ''02 Aug 2005'},
'id_2' : {'name': 'person2','height': u'145', 'weight': 50, 'age' : 22, 'DOB' : ''25 Sept 2005'},
'id_3' : {'name': 'person3','height': u'165', 'weight': 65, 'age' : 25, 'DOB' : ''17 May 2004'}}
答案 0 :(得分:2)
如果从文本文件中进行解析,我认为有必要先通过ast.literal_eval
将字符串转换为字典,然后调用DataFrame.from_dict
:
d = """{'id_1' : {'name': 'person1','height': u'150', 'weight': 56, 'age' : 20, 'DOB' : '02 Aug 2005'},
'id_2' :{'name': 'person2','height': u'145', 'weight': 50, 'age' : 22, 'DOB' : '25 Sept 2005'},
'id_3' : {'name': 'person3','height': u'165', 'weight': 65, 'age' : 25, 'DOB' : '17 May 2004'}}"""
import ast
df = pd.DataFrame.from_dict(ast.literal_eval(d), orient='index')
print (df)
name height weight age DOB
id_1 person1 150 56 20 02 Aug 2005
id_2 person2 145 50 22 25 Sept 2005
id_3 person3 165 65 25 17 May 2004