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

如何在Pandas DataFrame中统计列值的累计出现次数

解决Pandas中记录值累计出现次数的问题

你需要的是对目标列中每个值按出现顺序生成累计序号,用Pandas的groupby配合cumcount()就能实现,具体步骤如下:

  1. 构造示例数据(模拟你的场景):
import pandas as pd

df = pd.DataFrame({
    'col_A': ['test1', 'test2', 'test1', 'test2', 'test2', 'test3'],
    'col_B': ['a', 'b', 'c', 'd', 'e', 'f']
})
  1. 生成累计出现次数列:
# cumcount()默认从0开始计数,加1转为从1开始的序号
df['col_C'] = df.groupby('col_A').cumcount() + 1
  1. 最终结果:
col_A col_B  col_C
0   test1     a      1
1   test2     b      1
2   test1     c      2
3   test2     d      2
4   test2     e      3
5   test3     f      1

补充说明

  • value_counts()是统计每个值的总出现次数,无法追踪单次出现的顺序,所以不适用这个场景。
  • cumcount()会对每个分组内的行按原始顺序依次计数,加1后正好匹配你需要的“第几次出现”的序号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:30:35