本文介绍了 pandas 数据框用于字典,同时保留重复的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个看起来像这样的数据框:

I have a dataframe that looks like this:

kenteken status code
0      XYZ      A  123
1      XYZ      B  456
2      ABC      C  789

我想将其转换成这样的字典中的字典:

And I want to convert it to a dictionary in a dictionary like this:

{'XYZ':{'code':'123', 'status':'A'}, {'code':'456', 'status':'B'}, 'ABC' : {'code':'789', 'status:'C'}}

我能找到的最接近的是以下情况:

The closest I've been able to come was the folling:

df.groupby('kenteken')['status', 'code'].apply(lambda x: x.to_dict()).to_dict()

哪个产量:

{'ABC': {'status': {2: 'C'}, 'code': {2: '789'}},'XYZ': {'status': {0: 'A', 1: 'B'}, 'code': {0: '123', 1: '456'}}}

哪个距离很近但不太远.我真的不知道该怎么办,因此,感谢您的帮助!

Which is close but not quite. I really don't know what to do anymore, so appreciate any help!

推荐答案

这对您有用吗?

a = dict(df.set_index('kenteken').groupby(level = 0).\
    apply(lambda x : x.to_dict(orient= 'records')))

打印(a)

{'ABC': [{'status': 'C', 'code': 789}], 'XYZ': [{'status': 'A', 'code': 123}, {'status': 'B', 'code': 456}]}

这篇关于 pandas 数据框用于字典,同时保留重复的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 19:11