使用复合键将熊猫数据框映射到字典

时间:2019-11-25 11:54:48

标签: python pandas dataframe

我正在处理一些代码,需要将熊猫数据帧映射到由复合键和一些值组成的字典中。 以下是一个初始示例,key(PostalCode, Sex)(Name, Age)组成,而value是与{{1}匹配的所有sum中的salary }。我正在寻找一种优雅地进行此映射的方法。

key

1 个答案:

答案 0 :(得分:2)

首先聚合sum,然后用解包变量MultiIndex的键来在字典理解中更改a,b,c,d中值的格式:

s = people.groupby(["PostalCode", "Sex","Name", "Age"])["Salary"].sum()
print (s)
PostalCode  Sex  Name  Age
ab 11       M    tom   22      5555
ab 13       M    Rob   22      9999
ab 14       M    nick  33     12221
ab 15       F    juli  18      2222
Name: Salary, dtype: int64

d= {((a,b), (c,d)): v for (a,b,c,d), v in s.items()}
print(d)
{(('ab 11', 'M'), ('tom', 22)): 5555, 
 (('ab 13', 'M'), ('Rob', 22)): 9999, 
 (('ab 14', 'M'), ('nick', 33)): 12221, 
 (('ab 15', 'F'), ('juli', 18)): 2222}