我有一个 Dataframe
Sr.No ID A B C D
1 Tom Earth English BMW
2 Tom Mars Spanish BMW Green
3 Michael Mercury Hindi Audi Yellow
4 John Venus Portugese Mercedes Blue
5 John German Audi Red
我正在尝试将此转换为字典的ID如下:
{'ID' : 'Tom', 'A' : ['Earth', 'Mars'], 'B' : ['English', 'Spanish'], 'C' :
['BMW', 'BMW'], 'D':['Green'] },
{'ID' : 'Michael', 'A' : ['Mercury'], 'B' : ['Hindi'], 'C' : ['Audi'],
'D':['Yellow']},
{'ID' : 'John', 'A' : ['Venus'], 'B' : ['Portugese', 'German'], 'C' :
['Mercedes', 'Audi'], 'D':['Blue', 'Red'] }
This有点类似于我想要的。
我也试过,
df.set_index('ID').to_dict()
但是这给了我长度为5而不是3的字典。任何帮助都将不胜感激。
3条答案
按热度按时间1mrurvl11#
按
'ID'
分组,并将to_dict
应用于每个具有orient='list'
的组非常接近:这应该只是稍微格式化结果的问题。
**编辑:**从字典中删除
'ID'
:o0lyfsai2#
您可以使用
groupby
和orient ofto_dict
作为list
,并将结果系列转换为dictionary
。要删除
ID
,您还可以执行以下操作:qxgroojn3#
希望这能有所帮助。