首页 > 解决方案 > 将字典数组转换为 Pandas 数据帧,并将数据帧转换回字典数组

问题描述

我有以下字典数组,并从中创建了一个 Pandas 数据框:

original_data = [
    {'group': 'group1', 'value': 100}, 
    {'group': 'group1', 'value': 25}, 
    {'group': 'group2', 'value': 77}, 
    {'group': 'group2', 'value': 123}, 
    {'group': 'group3', 'value': 44}
]

df = pd.DataFrame(original_data)

这是生成的数据框:

group  value
0  group1    100
1  group1     25
2  group2     77
3  group2    123
4  group3     44

问题是当我尝试使用 将原始字典从数据集中取出时to_dict(),因为我得到了一个完全不同的对象:

df.to_dict()
{'group': {0: 'group1', 1: 'group1', 2: 'group2', 3: 'group2', 4: 'group3'}, 'value': {0: 100, 1: 25, 2: 77, 3: 123, 4: 44}}

如何获取用于构造数据框的原始字典?

谢谢你的帮助。

标签: pythonpandasdataframe

解决方案


尝试orient='records'

df.to_dict(orient='records')

输出:

[{'group': 'group1', 'value': 100},
 {'group': 'group1', 'value': 25},
 {'group': 'group2', 'value': 77},
 {'group': 'group2', 'value': 123},
 {'group': 'group3', 'value': 44}]

推荐阅读