pandas的离散化和分箱基础

cut:

1、将列表给离散化首先要用到pandas中cut,pandas.cut(字典或者列表,分割箱子的个数或者显示的箱边)它将你给数据自动进行分组首先我们创建一个列表
pandas的离散化和分箱基础
然后将这些年龄分为18到25、26到35、36到60、60到100,然后使用cut将其进行离散化:
pandas的离散化和分箱基础
2、使用codes属性将其范围转变成序列的形式:
pandas的离散化和分箱基础

3、pandas返回的对象是一个特殊的Categorical对象。然后调用categories将其4个范围表达出来:
pandas的离散化和分箱基础

4、使用value_counts去查看每个范围中有多少个数在里面:
pandas的离散化和分箱基础
5、cut中有一个right参数用来改变哪边是开放。小括号标识边是开放的,中括号表示它是封闭的若right=False则左边是封闭,右边是开放,right=True则反之:
pandas的离散化和分箱基础
6、cut中有一个labels用来传入自定义的箱名:
pandas的离散化和分箱基础
如果传给cut整数个的箱来代替显示箱边,pandas将根据数据中的最小值和最大值计算出等长的箱。来看均匀分布的数据被切割成了四份的情况:
pandas的离散化和分箱基础
precision=2的选项将十进制精度限制在了两位只显示出小数点的后两位。

qcut:

1、qcut是一个与分箱密切相关的函数,它基本样本分位数进行分箱。取决于数据的分布,使用cut通常不会使每个箱具有相同数据量的数据点。由于qcut使用样本的分位数,你可以通过qcut获得等长的箱:
pandas的离散化和分箱基础
2、与cut类似,在qcut可以传入自定义的分位数:
pandas的离散化和分箱基础