pd.cut()

type
status
date
slug
summary
tags
category
icon
password
网址
作者
标签
文章链接
发布时间
来源
pd.cutPandas 库中一个非常实用的函数,用于将连续的数值数据(如年龄、收入、分数等)离散化 (Discretization),将其划分到不同的区间或分箱 (Bins) 中。简而言之,它将一个数值列转换为一个类别列 (Categorical)

1. pd.cut 的核心功能

pd.cut 函数将数据根据用户定义的边缘 (Edges)分箱数量 (Number of Bins) 进行划分。
例如:将一个 0 到 100 的分数数据划分为三个区间:[0, 60], (60, 80], (80, 100]。

基本语法

 

2. 常用参数详解与示例

示例数据准备

(1) 按分箱边缘列表划分(最常用)

这是最精确的划分方式,需要手动指定区间的边界点。
输出结果:

(2) 按分箱数量划分

如果只传入一个整数给 bins,Pandas 会自动计算等宽的分箱。
输出结果:

(3) 控制区间开闭性 (rightinclude_lowest)

  • right=True (默认):区间右侧是闭合的,如 (a, b]
  • right=False:区间左侧是闭合的,如 [a, b)
  • include_lowest=True:确保包含数据的最小值,即使它是区间的左边界。

3. pd.cut vs pd.qcut

函数
划分依据
区间大小
适用场景
pd.cut
基于数值范围
区间宽度相同或用户指定
数据分布均匀,或需要按固定规则(如年龄段、分数线)划分时。
pd.qcut
基于样本数量 (Quartiles)
每个区间包含大致相同的样本数量
数据分布不均匀,或需要划分百分位数(如四分位数、十分位数)时。

示例:pd.qcut

输出结果:

总结:

当你知道具体的划分标准(如 60 分及格,80 分优秀)时,使用 pd.cut。当你想要根据数据的百分位平均分配样本时,使用 pd.qcut。
Prev
plt.legend()
Next
Pandas:stack() 和 unstack()
Loading...
Article List
Practice makes perfect
文献集锦
如何理论创新?
管理学理论集锦
Python实际应用
聚类标准误与固定效应
巫师3:狂猎
Stata应用技巧
Python知识与技巧
双重差分法(DID)
创新文献阅读与摘要
计量经济学
Python绘图相关