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学习网,大量的免费
,欢迎在线学习!
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中分配一个空值10/25
- ♥ python3的父类是否需要继承对象?01/10
- ♥ 为什么python文件要加utf-811/16
- ♥ 如何在python中读取虚数09/20
- ♥ Python代码检测工具及区别12/22
- ♥ 什么是python展开通行证11/25
内容反馈