知行编程网知行编程网  2022-12-13 00:00 知行编程网 隐藏边栏  13 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何分箱的相关知识,包括箱形图python,以及卡方分箱 python这些编程知识,希望对大家有参考作用。


python如何分箱


1、数据分箱

Pandas中对数据分箱技术的官方定义:Bin values into discrete intervals指的是将值分成离散的区间。就好比大小不一的苹果被分装到几个事先安排好的盒子里;不同年龄的人分为几个年龄组。

这种技术在数据处理时会很有用。


2、例子

我们先来看例子

import numpy as np
import pandas as pd
ages = np.array([5,10,36,12,77,89,100,30,1]) #年龄数据
1
2
3

现在将数据分成 3 个区间,并将它们标记为旧、中和绿色。 Pandas 提供了易于实现的易用 API。

pd.cut(ages, 3, labels=['青','中','老'])
1

结果如下,一行代码便实现。

[青, 青, 中, 青, 老, 老, 老, 青, 青]
1

cut运行时,统计一个一维数组的最小值和值,得到一个区间长度。因为需要分成三个区间,所以会得到三个均匀的区间,如下。

pd.cut(ages, 3 )
>>>区间如下:
Categories (3, interval[float64]): 
[(0.901, 34.0] < (34.0, 67.0] < (67.0, 100.0]]
1
2
3
4

给定数据的最小值为1,区间默认左开右闭,所以为了包含1,最左边的区间需要向左扩展0.1%(总区间长度),而默认精度为小数点后 3 位。


3、函数原型

通过上面的例子对cut有了初步的了解之后,分析cut的原型就比较容易了。

参数含义如下:

x:被切分的类数组数据,注意必须是1维;

bins:简单理解为分箱规则,就是桶。支持int 标量、序列;

right:表示是否包含区间的右边界,默认包含;

labels:分割后的bins打标签;

retbins:表示是否将分割后的bins返回,默认不返回。如为True,则:

    array([   0.901,   34.   ,   67.   ,  100.   ]))
1
2
3
4
5
include_lowest :区间的左边是开还是闭,默认为开;
duplicates;是否允许重复区间。raise:不允许,drop:允许。

python学习网,大量的免费
,欢迎在线学习!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享