python - 如何将熊猫数据框转换为数据字典
问题描述
我有以下熊猫数据框。我希望转换为默认值或数据字典。
数据框:
Col A Col B Col C
0 a1 k1 v1
1 a1 k2 v2
2 a1 k3 v3
3 a2 k4 v4
4 a3 k5 v5
5 a3 k6 v6
预期输出:
# dict
{
"a1" : {"k1": "v1", k2: "v2", "k3": "v3"},
"a2" : {"k4": "v4"},
"a3" : {"k5": "v5", "k6": "v6"}
}
我试过这个没有运气。
dict = df.set_index('Col A').groupby('Col B').apply( lambda x: x.ColC.to_dict()).to_dict()
谢谢您的帮助!!
解决方案
与groupby
_to_dict
{x : y.set_index('ColB')['ColC'].to_dict()for x, y in df.groupby('ColA')}
Out[252]:
{'a1': {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'},
'a2': {'k4': 'v4'},
'a3': {'k5': 'v5', 'k6': 'v6'}}
推荐阅读
- xaml - 当绑定到自定义类的 IsEnabled 时,样式触发器仅以一种方式工作
- vue.js - 为什么单击手风琴项会打开所有项?
- angularjs - 在 angular7 中创建新项目时出现此错误
- python - 将摄氏度转换为华氏度的程序
- java - Spring Boot 2.1.3 的一个问题
- php - 限制数据表中显示的条目总数
- kubernetes - k8s - Cinder“0/x 个节点可用:x 个节点发生卷节点关联冲突”
- linux - DRBD 解析错误:在 CentOS 上得到 'incon-degr-cmd' (TK 282)
- c# - 从输入字符串中包含的集合中找出最长字符串的最快方法
- oracle - PLSQL:为游标运行 FORloop,最后一行打印两次