鉴于以下pandas数据框:
ColA ColB ColC
0 a1 t 1
1 a2 t 2
2 a3 d 3
3 a4 d 4
我想要一本字典词典.
但我设法创建了以下内容:
d = {t : [1, 2], d : [3, 4]}
通过:
d = {k: list(v) for k,v in duplicated.groupby("ColB")["ColC"]}
我怎么能得到字典的字典:
dd = {t : {a1:1, a2:2}, d : {a3:3, a4:4}}
解决方法:
您可以事先使用groupby应用步骤执行此操作.
dd = df.set_index('ColA').groupby('ColB').apply(
lambda x: x.ColC.to_dict()
).to_dict()
或者,通过词典理解:
dd = {k : g.ColC.to_dict() for k, g in df.set_index('ColA').groupby('ColB')}
print(dd)
{'d': {'a3': 3, 'a4': 4}, 't': {'a1': 1, 'a2': 2}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。