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

如何按指定字符串分组统计列数据并创建新列(Pandas累计计数问题)

解决方案

直接使用布尔序列累计求和即可实现需求,代码如下:

df1['Cumulative Count of White'] = df1['Color'].eq('White').cumsum()

原理解释

  • df1['Color'].eq('White')会生成一个布尔值序列:当行的Color取值为White时返回True(对应数值计算时的1),否则返回False(对应数值计算时的0)
  • 对上述布尔序列调用cumsum()做累计求和,得到的就是截止到当前行位置White颜色的累计出现次数,非White行的计数值会自动继承上一行的累计结果,完全匹配你需要的输出效果。

原代码问题说明

你之前使用的groupby('Color').cumcount()是对每个颜色单独统计各自的累计出现序号,不同颜色的计数相互独立,因此无法实现仅统计White全局累计次数的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:15:02