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

如何按指定条件筛选列数据并分为4组计算各组百分比

取值0-100的数据列分组占比计算方法

分组规则

现有取值范围为0-100的数据列记为x,按以下边界规则划分为4个互斥分组,覆盖全部取值范围:

  • 分组1:x <= 17
  • 分组2:17 < x <= 50
  • 分组3:50 < x <= 83
  • 分组4:x > 83

代码实现(Python Pandas)

直接调用pandas内置的区间切分函数即可快速完成分组、占比计算,不需要逐行写判断逻辑:

import pandas as pd

# 替换为你的数据读取逻辑,比如df = pd.read_excel("你的文件.xlsx")
# 定义分组边界,设置正负无穷保证覆盖所有可能取值
bins = [-float("inf"), 17, 50, 83, float("inf")]
group_names = ["分组1", "分组2", "分组3", "分组4"]

# 切分分组,include_lowest=True保证x=17会被分到分组1,匹配规则要求
df["分组标签"] = pd.cut(df["x"], bins=bins, labels=group_names, include_lowest=True)

# 计算各组数据量占总数据量的百分比,按分组顺序排序输出
group_percent = df["分组标签"].value_counts(normalize=True).sort_index() * 100

# 打印结果
for group, pct in group_percent.items():
    print(f"{group}占比:{pct:.2f}%")

Excel实现方法

如果不用代码,用Excel也可以快速完成计算:

  • 新增「分组标签」列,在首行数据对应的单元格输入公式:=IF(A2<=17,"分组1",IF(A2<=50,"分组2",IF(A2<=83,"分组3","分组4"))),其中A2是x列对应的数据单元格,公式下拉填充所有行即可完成自动分组
  • 插入数据透视表,行区域选「分组标签」,值区域选「分组标签」并设置值汇总依据为计数,再将值显示方式修改为「总计的百分比」,就能直接得到每个分组的占比结果

注意:分组时要重点校验边界值(17、50、83)的归属是否符合规则,避免因为区间开闭设置错误导致分组统计偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:06:26