如何在Pandas Dataframe中按CLI_ID分组统计LIBELLE频次并新增列
Pandas分组统计频次实现方案
你之前的groupby思路方向正确,只需搭配transform方法即可实现结果对齐:直接对groupby对象执行统计会得到聚合后的压缩结果,行数和原DataFrame不匹配,transform可以将分组统计结果广播回分组内的每一行,保持原索引和行数不变。
# 新增QTY列存储同一CLI_ID下对应LIBELLE的出现频次 df['QTY'] = df.groupby(['CLI_ID', 'LIBELLE'])['LIBELLE'].transform('size')
运行后即可达到预期效果:同一CLI_ID下相同LIBELLE对应的所有行,QTY值均为该组合的出现次数,和你举例的CLI_ID为1490281的用户对应记录的QTY赋值为2的效果完全一致。
内容的提问来源于stack exchange,提问作者JK2018
相关产品推荐
相关产品推荐

