数据离散化与分箱

本文介绍了数据分箱的概念及其在Python中使用pandas库的pd.cut和pd.qcut函数进行数据分段的方法。通过示例代码展示了如何将年龄数据按特定区间分箱,并查看每个分段的数量。此外,还提到了分箱的右开左闭特性、自定义分箱标签、等距与等频分箱的区别,以及基于样本数量的分位数分箱。
摘要由CSDN通过智能技术生成

1.分箱的意义

将数据放在分段线中,例如将成绩按照等差区间分为,A,B,C,D。分别对应60,80,90,100。

2.代码示例

import pandas as pd

import numpy as np

ages = [20,22,33,54,64,43,55,66,75,32,21,11]

bins = [18,25,35,60,100]

cart = pd.cut(ages,bins) #将原数据按照bins中的区间进行分箱。

cart.codes #查看每个数据分箱到哪里了

cart.categories#查看分区的详细信息

pd.value_counts(cart) #显示各分段的数量

right = False #改变左开右闭为左闭右开区间

labels=[‘名称1’,‘名称2’...] #使用自定义分箱名称

如果传入整数作为分箱,则取最大与最小的差值等长作为分箱边界。

precision=n整数自动分箱时的间距的精度

qcut基于样本个数分位数进行分箱,而cut是基于最大值最小值的位置分位数。例:

data = np.random.randn(1000)

cats = pd.qcut(data,4,presicion=3)

pd.value_counts(cats)  #显示各分段的数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值