You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建包含user_id与artist_id组合出现次数的新列?

解决方法

你可以用pandas的transform方法实现需求,它能把分组聚合的结果广播回原数据的每一行,完美匹配你要的效果:

# 新增一列存储组合出现次数,用size统计分组行数(比count更准确,不受空值影响)
treino['组合出现次数'] = treino.groupby(['user_id', 'artist_id']).transform('size')

为什么原来的方法不行?

你之前用的treino.groupby(['user_id', 'artist_id']).count()会返回一个分组聚合后的DataFrame,每个user_id+artist_id组合只占一行,无法直接和原数据的多行结构对应。而transform会保留原数据的行数,自动把每个分组的统计值填充到该分组的所有行中。

比如当user_id=0且artist_id=10的组合出现5次时,这5行的组合出现次数列都会被填充为5,完全符合你的要求。

内容的提问来源于stack exchange,提问作者Matheus Silveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:20:33