我有这些数据:
count
Year Month Code
2016 1 ENE001SOLC 121
SAL016DECL 92
TRN002SIGN 54
HAB002SOLC 38
TRE001SIGN 37
ESP003SOLC 36
TRN002SOLC 32
2 ENE001SOLC 151
CAT001SOLC 143
VIT001SOLC 90
TRE001SIGN 80
TRN002SOLC 74
BOM001SOLC 72
3 ENE001SOLC 114
ENT002JUST 96
TRE001SIGN 94
TRN002SIGN 89
ENT002APOR 76
TRN002SOLC 56
此数据样本按年份和月份分组。如您所见,它显示给定代码的频率。
我想要做的,是获取同一个月中出现的所有代码值,并将它们放入 python 字典中,其中键是代码,计数是值,这样我就可以在同一行,所有键及其各自的计数。所需的输出应如下所示:
Year Month Code_count
2016 1 {ENE001SOLC: 121, SAL016DECL: 92, TRN002SIGN: 54, HAB002SOLC: 38, HAB002SOLC: 38, TRE001SIGN: 37, ESP003SOLC: 36, TRN002SOLC: 32}
2 {ENE001SOLC: 151, CAT001SOLC: 143, VIT001SOLC: 90, TRE001SIGN: 80, TRN002SOLC: 74, BOM001SOLC: 72}
你可以看看我的想法是什么。我尝试使用 pd.to_dict() 方法,但通过此方法,我获得了所有代码值及其代码,但不尊重分组。我怎么能这样做?任何帮助将不胜感激。
提前非常感谢
最佳答案
尝试以下操作,
result = (df.reset_index()
.groupby(['Year','Month'])
.apply(lambda x:x.set_index('Code')['count'].to_dict())
)
关于python - 如何根据分组值将字典插入数据框的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57163147/