熊猫数据框来字典,同时保留重复的行

Bri*_*les 3 python dictionary dataframe pandas

我有一个如下所示的数据框:

kenteken status code
0      XYZ      A  123
1      XYZ      B  456
2      ABC      C  789
Run Code Online (Sandbox Code Playgroud)

我想将它转换为字典中的字典,如下所示:

{'XYZ':{'code':'123', 'status':'A'}, {'code':'456', 'status':'B'}, 'ABC' : {'code':'789', 'status:'C'}}
Run Code Online (Sandbox Code Playgroud)

我能得到的最接近的是以下内容:

df.groupby('kenteken')['status', 'code'].apply(lambda x: x.to_dict()).to_dict()
Run Code Online (Sandbox Code Playgroud)

其产量:

{'ABC': {'status': {2: 'C'}, 'code': {2: '789'}},'XYZ': {'status': {0: 'A', 1: 'B'}, 'code': {0: '123', 1: '456'}}}
Run Code Online (Sandbox Code Playgroud)

这很接近,但不完全是。我真的不知道该怎么办了,非常感谢您的帮助!

use*_*146 6

这对你有用吗?

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

打印(一)

{'ABC': [{'status': 'C', 'code': 789}], 'XYZ': [{'status': 'A', 'code': 123}, {'status': 'B', 'code': 456}]}
Run Code Online (Sandbox Code Playgroud)