pd.cut和qcut

cut一般是进行等宽(距)分箱(离散化),qcut进行等频分箱

cut

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3)

qcut

pandas.qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')

x:一维 ndarray 或系列

q:整数或浮点数的list-like,分位数。 10 表示十分位数,4 表示四分位数等。交替排列的分位数,例如[0, .25, .5, .75, 1.] 四分位数。

labels:数组或假,默认无。用作结果箱的标签。必须与生成的 bin 长度相同。如果为 False,则仅返回 bin 的整数指示符。如果为 True,则引发错误。

retbins:布尔型,可选。是否返回(箱,标签)。如果 bins 作为标量给出,则可能很有用。

precision:整数,可选。存储和显示 bin 标签的精度。

duplicates:{默认 ‘raise’, ‘drop’},可选。

实例

import pandas as pd
import numpy as np

x = np.random.randint(20,100,size=12)

print('原始数据:',x)
bins_cut = [0,40,56,80,100]
#等距离散化
cut = pd.cut(x,bins=4)
cut1 = pd.cut(x,bins=bins_cut)
print(pd.value_counts(cut))
print(pd.value_counts(cut1))


#等频分箱
print('等频分箱结果是:')
q_cut = pd.qcut(x,q=4)
print(pd.value_counts(q_cut))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值