如何将简单的pandas DataFrame转换为嵌套字典,其中dataframe的第一列是dict的主键,而随后的所有列均代表值?也就是说,所有后续列本身都会成为字典。
dataframe
Key title source
Key1 Test1 ABC
Key2 Test2 ABC
Key3 Test2 DEF
Nested dictionary
{
{'Key1': {'title': 'Test1', 'source': 'ABC'},
{'Key2': {'title': 'Test2', 'source': 'ABC'},
{'Key3': {'title': 'Test2', 'source': 'DEF'},
}
答案 0 :(得分:2)
使用df.to_json
...这是您的情况:
>>> df = pd.DataFrame([['Test1', 'ABC'], ['Test2', 'ABC'], ['Test2', 'DEF']],
... index=['Key1', 'Key2', 'Key3'],
... columns=['title', 'source'])
>>> df
title source
Key1 Test1 ABC
Key2 Test2 ABC
Key3 Test2 DEF
>>> df.to_json(orient='index')
{"Key1":{"title":"Test1","source":"ABC"},
"Key2":{"title":"Test2","source":"ABC"},
"Key3":{"title":"Test2","source":"DEF"}}
注意:
您的dataframe
与我的唯一区别是我的key
为索引,可以使用df.set_index('Key')
答案 1 :(得分:2)
使用VehiclePerDay
。 to_dict
返回字典,而to_dict
返回字符串。如果需要to_json
,请使用str
。如果您需要字典,请使用to_json
to_dict