等宽分箱_数据处理:销售业绩分箱工具,pd.cut() Vs pd.qcut()

本文介绍了在数据处理中,如何使用`pd.cut()`和`pd.qcut()`对连续数值进行等宽和分位数分箱。详细解析了这两个函数的参数、代码示例及应用场景,帮助读者理解并灵活运用这两个工具进行数据分档。
摘要由CSDN通过智能技术生成
02381de46dc78271ed37c139f05e2c9e.png

​ 相信很多进行数据处理工作的小伙伴都遇到过这种需求,比如已经有了各个销售员的销售业绩,现在需要给各个销售业绩进行一个分档,诸如未完成任务,完成任务,超额完成任务等。要完成分档需要先对销售业绩的数值进行判断,然后再根据判断的结果进行一个分类,那么大家都是怎样进行分类的呢?

​ 实际上,上述需求是要对连续型的数值进行分箱操作,实现的方法有N种,但是效率有高有低,这里我们介绍两种效率比较高而且也容易理解的方法。

方法一:pd.cut()

参数介绍

先来看一下这个函数都包含有哪些参数,主要参数的含义与作用都是什么?

pd.cut(    x,    bins,    right=True,    labels=None,    retbins=False,    precision=3,    include_lowest=False,    duplicates='raise',)

x : 一维数组(对应前边例子中提到的销售业绩)

bins :整数,标量序列或者间隔索引,是进行分组的依据,

  • 如果填入整数n,则表示将x中的数值分成等宽的n份(即每一组内的最大值与最小值之差约相等);
  • 如果是标量序列,序列中的数值表示用来分档的分界值
  • 如果是间隔索引,“ bins”的间隔索引必须不重叠

right :布尔值,默认为True表示包含最右侧的数值

  • 当“ right = True”(默认值)时,则“ bins”=[1、2、3、4]表示(1,2],(2,3],(3,4]
  • 当bins是一个间隔索引时,该参数被忽略。

labels : 数组或布尔值,可选.指定分箱的标签

  • 如果是数组,长度要与分箱个数一致,比如“ bins”=[1、2、3、4]表示(1,2],(2,3],(3,4]一共3个区间,则labels的长度也就是标签的个数也要是3
  • 如果为False,则仅返回分箱的整数指示符,即x中的数据在第几个箱子里
  • 当bins是间隔索引时,将忽略此参数

retbins: 是否显示分箱的分界值。默认为False,当bins取整数时可以设置retbins=True以显示分界值,得到划分后的区间

precision:整数,默认3,存储和显示分箱标签的精度。

include_lowest:布尔值,表示区间的左边是开还是闭,默认为false,也就是不包含区间左边。

duplicates:如果分箱临界值不唯一,则引发ValueError或丢弃非唯一

ok,所有参数的含义与作用就是这些了,纯文字解释怎么都不如代码跑一遍来的直观,我们在代码中实现一下再结合上述文字解释就很容易理解了。而且并不是所有参数都是常用的,有些参数很少用到!

代码示例

先来看一下数据源

df_f = pd.read_excel(r"D:datafootball球队排名比分2
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值