pd.cut()

pd.cut 是 Pandas 库中一个非常实用的函数,用于将连续的数值数据(如年龄、收入、分数等)离散化 (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) 控制区间开闭性 (right 和 include_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绘图相关
遗漏变量偏误检验
基于专利计算的创新指标