首页 > 解决方案 > pandas dataframe to_dict 两列作为索引,第三列作为值

问题描述

我有一个熊猫数据框,如下所示:

User              ASIN             Rating
A23VKINWRY6J92    1476783284       5
A3HC4SRK7B2AXR    1496177029       5
AE12HJWB5ODOD     B00K2GAUC0       4
AL4RYO265J1G      061579615X       3

我想生成一个字典,其中有 2 列“用户”和“ASIN”作为键,第三列“评级”作为值。如下所示:

my_dict[A23VKINWRY6J92][1476783284] = 5
my_dict[A3HC4SRK7B2AXR][1496177029] = 5
my_dict[AE12HJWB5ODOD][B00K2GAUC0] = 4
my_dict[AL4RYO265J1G][061579615X] = 3

我怎样才能做到这一点?

标签: pythonpandas

解决方案


使用嵌套的 dict 理解:

{u: {a: list(df.Rating[(df.User == u) & (df.ASIN == a)].unique()) for a in df.ASIN[df.User == u].unique()} for u in df.User.unique()}

请注意,这映射到列表,因为结果值没有理由应该是唯一的。


推荐阅读