python - 将字典数组转换为 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}}
如何获取用于构造数据框的原始字典?
谢谢你的帮助。
解决方案
尝试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}]
推荐阅读
- c++ - 使用英特尔 OpenMP 找到最佳线程数:只有 1 个线程比多线程有更好的结果
- gun - gun.map() 在根节点上的期望行为是什么?
- django - 为什么在保存时更新相关模型中的字段在 Django 中不起作用?
- java - SD 卡中的文件消失
- java - 如何使用 ANTLR 4 实现逻辑运算符(和,或)?
- c++ - what() const throw 是什么意思?
- javascript - 组件未在 reactJS 中呈现
- azure-devops - Azure Devops 构建管道在构建解决方案等步骤上失败
- docker - iRedmail 作为反向代理在另一个 nginx 后面的 docker 容器中运行
- javascript - Redux 布尔状态更改但未在组件中呈现