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

如何使用pandas.cut()获取分箱的上限值用于后续聚合?

实现方法

方法1:从已有分箱结果提取区间上限

pd.cut返回的是分类类型数据,每个元素为Interval对象,内置right属性直接返回区间上限值,实现代码如下:

# 方法1.1 逐元素提取(适合小数据量)
africa_uhc_upper = africa_uhc.apply(lambda x: x.right)

# 方法1.2 转IntervalIndex批量提取(效率更高,适合大数据量)
africa_uhc_upper = pd.IntervalIndex(africa_uhc).right

运行后你示例中索引29的行就会直接返回0.75,返回结果为float类型可直接用于后续聚合计算。

方法2:分箱时直接指定标签为上限值

如果还未执行分箱操作,可在调用pd.cut时直接指定labels参数为对应区间的上限值,一步得到目标结果:

bins = [0, 0.25, 0.50, 0.75, 1]
# 标签顺序和分箱区间顺序一一对应,直接取每个区间的上限
labels = [0.25, 0.5, 0.75, 1.0]
africa_uhc = pd.cut(
    africa[("Universal health coverage (UHC) service coverage index")]/100,
    bins=bins,
    labels=labels
)

如果需要显式转为数值类型,可在末尾添加.astype(float)即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:06:03