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

如何按数值范围分组生成汇总统计信息?

针对数值范围创建汇总统计并分组的方法

Excel 实现步骤

1. 给数值分配分组标签

假设你的数据在A列,要分成0-10、11-20、21-30、30以上这几个区间,在B2单元格输入以下公式,下拉填充给所有数据行:

=IF(A2<=10,"0-10",IF(A2<=20,"11-20",IF(A2<=30,"21-30","30以上")))

如果需要更灵活的区间,也可以用VLOOKUP配合辅助表定义区间,避免嵌套过多IF。

2. 生成汇总统计

  • 方法一:数据透视表
    选中数据区域,点击「插入」→「数据透视表」,把分组列(B列)拖到「行」区域,把数值列(A列)拖到「值」区域,然后在值字段设置里选择需要的统计类型:计数、求和、平均值、最大值等。
  • 方法二:函数直接计算
    用COUNTIFS统计每个区间的数量:
    =COUNTIFS(A:A,">=0",A:A,"<=10")  // 统计0-10的数量
    
    用SUMIFS计算每个区间的总和:
    =SUMIFS(A:A,A:A,">=0",A:A,"<=10")  // 计算0-10的总和
    
    类似的,AVERAGEIFS可以计算平均值,按需使用。

Python Pandas 实现步骤

1. 划分数值区间

用pd.cut()函数给数值列分配分组,示例代码:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({'数值': [3, 15, 22, 35, 9, 18, 29, 40]})

# 定义区间边界和分组标签
bins = [0, 10, 20, 30, float('inf')]
labels = ['0-10', '11-20', '21-30', '30以上']

# 给数据添加分组列(right=False表示左闭右开区间,比如0<=x<10属于0-10)
df['分组'] = pd.cut(df['数值'], bins=bins, labels=labels, right=False)

2. 按分组生成汇总统计

用groupby()结合聚合函数快速生成多维度统计:

# 一次性生成计数、求和、均值、最大/最小值
汇总结果 = df.groupby('分组')['数值'].agg(['count', 'sum', 'mean', 'max', 'min'])
print(汇总结果)

如果需要自定义统计项名称,用字典形式指定:

自定义汇总 = df.groupby('分组').agg(
    数量=('数值', 'count'),
    总和=('数值', 'sum'),
    平均=('数值', lambda x: round(x.mean(), 2)),
    最大值=('数值', 'max')
)
print(自定义汇总)

注意事项

  • 不管用Excel还是Pandas,定义区间时要避免重叠或遗漏,确保每个数值都能匹配到唯一分组。
  • Pandas的pd.cut()如果不指定labels,会直接显示区间字符串,比如[0,10),也可以直接使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 03:45:08