python - Pandas Dataframe 到带有元组的列表字典

标签 python dictionary pandas type-conversion dataframe

我在 Dataframe 中有一些数据(例如,df):

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

我希望看到的方式:

{'key1': [('ACURA', 'CL')], 
 'key2': [('ACURA', 'EL'), ('ACURA', 'ILX')], 
 'key3': [('ACURA', 'INTEGRA')], 
 'key4': [('ACURA', 'INTEGRA')]}

我尝试了类似 df.set_index('Col_1').T.to_dict('list') 的操作,但失败了,因为 Col_1 具有非唯一值。 当然,有一个简单的解决方案可以逐行运行 df 并手动创建我的字典,但我更喜欢更 Pythonic 的方式。

最佳答案

这就是你想要的:

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')]}

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

关于python - Pandas Dataframe 到带有元组的列表字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34791149/

相关文章:

python - PySerial write() 即时超时

python - 如何动态选择python基类?

python - 保存堆栈?

c# - 如何传递正确的 Model Diction 类型 MVC

python - 用字符串值替换数据框中的 NaN

python-3.x - 给定增长率和特殊规则,如何获得 Pandas 的累积增长?

python - ftplib.cwd 错误 : UnicodeEncodeError: 'latin-1' codec can't encode characters

python - 从字典中获取特定值

python - 重组字典键值对的更好方法?

pandas - 如何将年、日、月转换为日期时间?