如何在Pandas DataFrame中基于value_counts生成条目计数新列
可行实现方案如下:
方案1:直接映射已统计的频次结果
你已经通过value_counts得到了频次统计Seriesnew_data,直接用map方法映射到原DataFrame即可,一行代码就能完成:
df['item_count'] = df['item'].map(new_data)
该方法逻辑简单直观,性能优秀,适合你已经提前算出频次统计结果的场景。
方案2:一步完成统计+新增列
如果你不需要单独保存频次统计结果,可以用groupby搭配transform直接生成计数列:
df['item_count'] = df.groupby('item')['item'].transform('count')
两种方案最终得到的效果完全一致,原DataFrame中每行都会匹配到对应item取值的总频次作为新列值。
内容的提问来源于stack exchange,提问作者Zac
相关产品推荐
相关产品推荐

