[Python] 变量重分类(连续变量重分类、离散变量重分类)

本文介绍了如何使用Python进行连续变量和离散变量的重分类。对于连续变量,详细阐述了等宽和等频两种重编码方法,并给出了具体案例。离散变量的重分类则包括将分类信息映射到单一指标以及通过`pd.get_dummies()`创建多个指标。内容涵盖了从简单的数据处理到复杂的数据转换技巧。

目录

1. Python连续变量重分类

1.1 等宽重编码

1.2 等频重编码

2. 离散变量重分类

2.1 分类后为1个指标

2.2 分类后为多个指标

1. Python连续变量重分类

cut(  )函数

新变量 = pd.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)

# x:待分类的变量
# bins:分段的依据
# right:right=True表示分段后包含右边的数,即左开又闭(X,X]
# labels:分类后新的分类标签,若不修改默认以(X,X]/[X,X) 的格式显示
# 其他参数详见:help(pd.cut)

1.1 等宽重编码

案例 :

一份df格式的2020年的人口数据,数值为连续型,最小值为0,最大值为109695.39。现在需要分段为0,(0,100]、(100,300]、(300,500]、(500,700]、(700,900]、(900,1100]、(1100,1300]、1300及以上9类。

#格式左开右闭,从零开始(XX],bins需要加一个最大值
bins = [0,100,200,300,500,700,900,1100,1300,max(df['2020'])] #10个数,9个空格,产生9类
df['2020分层'] = pd.cut(df['2020'],bins,right=True)

#给重分类结果添加标签
bins = [0,100,200,300,500,700,900,1100,1300,max(Wpop2['2020'])]
df['2020分层'] = pd.cut(df['2020'],bins,right=True,labels=[1,2,3,4,5,6,7,8,9])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禾木页

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值