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

创建收入分类变量:按年度百分位划分收入等级

解决方案

可以使用 Pandas 的 groupby 结合 qcut 方法实现按年份分组的收入分箱,具体步骤如下:

  1. 构造示例 DataFrame(已有数据可跳过此步):
import pandas as pd

data = {
    'ID': [1,2,3,4,5,6,7,8,9],
    'Income': [100,200,300,500,1000,1500,10000,15000,20000],
    'Year': [2000,2000,2000,2001,2001,2001,2002,2002,2002]
}
df = pd.DataFrame(data)
  1. 按年份分组并生成收入等级列:
# 按Year分组,对每组的Income进行三分位分箱
df['income_cat'] = df.groupby('Year')['Income'].apply(
    lambda x: pd.qcut(x, q=[0, 1/3, 2/3, 1], labels=['low', 'medium', 'high'])
)
  1. 查看结果:
print(df)

运行后得到的结果与预期输出完全一致:

IDIncomeYearincome_cat
11002000low
22002000medium
33002000high
45002001low
510002001medium
615002001high
7100002002low
8150002002medium
9200002002high

关键说明

  • groupby('Year'):确保每个年份的收入分箱独立计算,不会跨年份干扰。
  • pd.qcut():基于分位数分箱,q=[0, 1/3, 2/3, 1] 明确将数据划分为下33%、中间33%、上33%三个区间,labels 参数指定对应等级名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:05:13