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

pd.cut对连续变量分箱时标签与箱边数不匹配错误如何解决

错误原因

  • pd.cut() 传入的bins参数为边界序列时,边界数量永远比分箱数量多1,对应需要的标签数量也必须和分箱数量一致,即标签数=边界数-1。
  • 你当前存在两个问题:
    1. cut_bins = range(1,70) 生成的是[1,2,...,69]共69个边界,对应只能生成68个分箱,但你生成的labels有69个,数量不匹配触发报错
    2. 你的列最大值是70,现有边界最大仅到69,70会被识别为超出范围,最终赋值为NaN

解决代码

直接把分箱边界的上限调整为71,覆盖最大值即可:

# 生成分箱标签:共69个,对应1-2到69-70
labels = ["{0} - {1}".format(i, i + 1) for i in range(1, 70, 1)]
# 分箱边界调整为1到70,共70个边界,刚好对应69个分箱
cut_bins = range(1, 71)
# 可选调整:right参数控制区间开闭,默认True为右闭区间(左开右闭),改为False则为左闭右开区间
df['total_value_bins'] = pd.cut(df['total_value'], bins=cut_bins, labels=labels, right=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:48:05