如何修改Pandas中pd.qcut生成的分箱区间格式
自定义pd.qcut分箱标签格式
你可以通过单独处理首尾分箱+批量处理中间分箱的方式生成目标格式的标签,具体代码如下:
- 先获取原分箱的区间索引:
categories = us_counties.bins.cat.categories
- 构建新的标签列表:
new_labels = [] # 处理第一个分箱:显示为 <右边界值> new_labels.append(f'<{categories[0].right}') # 处理中间分箱:保留 "左边界 - 右边界" 格式 for interval in categories[1:-1]: new_labels.append(f'{interval.left} - {interval.right}') # 处理最后一个分箱:显示为 >左边界值 new_labels.append(f'>{categories[-1].left}')
- 给分箱列重命名标签:
us_counties['bins'] = us_counties['bins'].cat.rename_categories(new_labels)
执行后,分箱标签就会变成你需要的格式:['<0.58','0.58 - 0.67',....,'0.97 - 1.06','>1.06']
注意:直接修改
cat.categories可能会引发类型警告,使用rename_categories是更安全的做法。
内容的提问来源于stack exchange,提问作者Panagiotis Sakkis
相关产品推荐
相关产品推荐

