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

在R语言中为dataframe添加列,逐行统计指定列值的出现次数

为DataFrame添加逐行统计值出现次数的列

问题说明

需要给DataFrame新增一列,逐行统计指定列(比如示例里的Name列)对应值截至当前行的出现次数。

输入示例:

Row    Name
 1      Tom
 2      Dave
 3      Tom
 4      Brent
 5      Brent
 6      Tom

期望输出:

Row    Name    Count
 1      Tom      1
 2      Dave     1
 3      Tom      2
 4      Brent    1
 5      Brent    2
 6      Tom      3

解决方案(Pandas实现)

用groupby搭配cumcount()方法就能快速实现,代码如下:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'Row': [1, 2, 3, 4, 5, 6],
    'Name': ['Tom', 'Dave', 'Tom', 'Brent', 'Brent', 'Tom']
})

# 添加Count列:按Name分组后逐行计数,cumcount从0开始,加1得到从1起始的次数
df['Count'] = df.groupby('Name').cumcount() + 1

# 查看结果
print(df)

逻辑解释

  • groupby('Name'):把DataFrame按Name列的取值分组,相同Name的行归为一组
  • cumcount():在每个分组内从0开始逐行累加计数
  • 加1操作:将计数起始值调整为1,匹配需求里的次数统计逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:15:08