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

Python:按row与name多列分组并生成count计数列

实现按row-name组合统计出现次数并新增列

输入数据

row     name    Min
11      AA      0.3
11      AA      0.2
11      BB      0.3
11      CC      0.2
12      AS      0.3
12      BE      0.3
12      BE      0.4

预期输出

row     name    Min     Count
11      AA      0.3         2
11      AA      0.2         2
11      BB      0.3         1
11      CC      0.2         1
12      AS      0.3         1
12      BE      0.3         2
12      BE      0.4         2

Python实现代码

用Pandas的groupby结合transform方法可以实现需求,既能保留原DataFrame的所有行结构,又能为每行匹配对应组的出现次数:

import pandas as pd

# 构建输入DataFrame
df = pd.DataFrame({
    'row': [11, 11, 11, 11, 12, 12, 12],
    'name': ['AA', 'AA', 'BB', 'CC', 'AS', 'BE', 'BE'],
    'Min': [0.3, 0.2, 0.3, 0.2, 0.3, 0.3, 0.4]
})

# 新增Count列,统计每个row-name组合的出现次数
df['Count'] = df.groupby(['row', 'name'])['Min'].transform('count')

# 查看结果
print(df)

代码说明

  • groupby(['row', 'name']):以row和name的组合作为分组依据,精准锁定需要统计的单元
  • transform('count'):对每组的Min列进行计数,并将结果映射回原DataFrame的对应行,确保每行都能获取到所在组的总出现次数

运行代码后输出的结果与预期完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:35:27