Pandas数据帧到元组列表的dict

2024-06-16 09:28:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在数据框中有一些数据(比如,df):

Col_1   Col_2   Col_3
Key1    ACURA   CL
Key2    ACURA   EL
Key2    ACURA   ILX
Key3    ACURA   INTEGRA
Key4    ACURA   INTEGRA

我想看的方式是:

^{pr2}$

我尝试了类似df.set_index('Col_1').T.to_dict('list')的方法,但是失败了,因为Colˉ1的值不是唯一的。 当然,有一个简单的解决方案可以逐行遍历df并手动创建dict,但我更喜欢python方法。在


Tags: 数据方法dfcl方式coleldict
1条回答
网友
1楼 · 发布于 2024-06-16 09:28:44

你想要什么:

In [50]:
df.groupby('Col_1')[['Col_2','Col_3']].apply(lambda x: [tuple(x) for x in x.values]).to_dict()

Out[50]:
{'Key1': [('ACURA', 'CL')],
 'Key2': [('ACURA', 'EL'), ('ACURA', 'ILX')],
 'Key3': [('ACURA', 'INTEGRA')],
 'Key4': [('ACURA', 'INTEGRA')]}

在这里,我们groupby在“Colˉ1”上,我们将这些值转换为列表中的元组,并对结果调用to_dict

相关问题 更多 >