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

如何统计NAME、B、C、D多列分组对应的数值总和及出现次数?

你需要的是按NAME、B两列分组统计出现次数,再将计数同步到同分组的每一行中,以下是三种常用场景的实现方案:

1 数据库(SQL)实现

如果使用支持窗口函数的数据库(MySQL8.0+、PostgreSQL、Hive等),直接用窗口统计即可:

SELECT 
    NAME,
    B,
    C,
    D,
    TOTAL,
    COUNT(*) OVER (PARTITION BY NAME, B) AS COUNT
FROM 你的业务表名;

PARTITION BY NAME, B会把NAME、B取值都相同的行归为同一组,COUNT(*)统计每组的行数,最终每行都会返回所属分组的总计数,和你要求的输出完全一致。

2 Excel 实现

假设你的数据表头在第1行,数据从第2行开始,NAME是A列、B是B列,需要填计数的COUNT列是F列:
在F2单元格输入公式:
=COUNTIFS(A:A,A2,B:B,B2)
下拉填充所有数据行即可。公式会自动统计A列等于当前行A值、且B列等于当前行B值的总条数,就是你要的分组计数。

3 Python Pandas 实现

适合处理大批量数据的场景:

import pandas as pd

# 读取你的数据源,可替换为read_csv等其他读取方法
df = pd.read_excel("你的数据文件路径.xlsx")

# 按NAME、B分组统计数量,同步映射回原表
df['COUNT'] = df.groupby(['NAME', 'B'])['NAME'].transform('count')

# 输出结果,需要保存的话可以调用to_excel/to_csv方法
print(df)

transform方法会保留原表的行顺序和所有列内容,仅新增COUNT列填充对应分组的计数,不会改动原数据结构。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:45:04