You need to enable JavaScript to run this app. 如何使用pandas将数据按40%、40%、20%的比例拆分至指定分桶
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pandas将数据按40%、40%、20%的比例拆分至指定分桶

40:40:20自定义分桶实现方案

用pandas自带的pd.qcut()即可实现,该函数是专门用于按分位数做等频分箱的工具,支持自定义传入分位区间,相比你之前用的pd.cut()更适配百分位拆分的需求。

核心实现代码

import pandas as pd

# 定义分位边界:对应0%、40%、80%、100%四个节点,刚好拆分出三个区间
quantile_bins = [0, 0.4, 0.8, 1.0]
# 自定义分桶标签,可按需调整为数值/字符类型
bin_labels = ["低40%", "中40%", "高20%"]

# 执行分桶,retbins=True会同时返回拆分的数值边界
df['count_group'], split_borders = pd.qcut(
    df['count'],
    q=quantile_bins,
    labels=bin_labels,
    retbins=True
)

常见问题处理

  • 若数据存在大量重复值导致分位边界重合报错,可添加duplicates='drop'参数自动处理重复边界:
    df['count_group'], split_borders = pd.qcut(
        df['count'],
        q=quantile_bins,
        labels=bin_labels,
        retbins=True,
        duplicates='drop'
    )
    
  • 打印split_borders即可查看每个分桶对应的实际数值拆分边界
  • 若需要数值类型的分桶标识,直接将bin_labels修改为[1,2,3]即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 04:36:01