时间:2021-05-23
pandas.cut:
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)
参数:
1. x,类array对象,且必须为一维,待切割的原形式
2. bins, 整数、序列尺度、或间隔索引。如果bins是一个整数,它定义了x宽度范围内的等宽面元数量,但是在这种情况下,x的范围在每个边上被延长1%,以保证包括x的最小值或最大值。如果bin是序列,它定义了允许非均匀bin宽度的bin边缘。在这种情况下没有x的范围的扩展。
3. right,布尔值。是否是左开右闭区间
4. labels,用作结果箱的标签。必须与结果箱相同长度。如果FALSE,只返回整数指标面元。
5. retbins,布尔值。是否返回面元
6. precision,整数。返回面元的小数点几位
7. include_lowest,布尔值。第一个区间的左端点是否包含
返回值:
若labels为False则返回整数填充的Categorical或数组或Series
若retbins为True还返回用浮点数填充的N维数组
demo:
pandas.qcut
pandas.qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')
参数:
1.x
2.q,整数或分位数组成的数组。
3.labels,
4.retbins
5.precisoon
6.duplicates
结果中超过边界的值将会变成NA
demo:
补充拓展:解决 Python 中 qcut() 运行报错: Bin edges must be unique和drop duplicate edges by setting 'duplicates' kwarg
本次纠错背景,来源于互金领域信用风控建模中的变量分箱处理。(附在文末)
解决 Python 中 qcut() 函数运行报错:
Bin edges must be unique和 You can drop duplicate edges by setting the ‘duplicates' kwarg
首先,报错如下:
然后,在qcut() 函数中设置duplicates参数为“drop”(不能设置为“raise”),解决(如下)。
本次纠错背景,来源于互金领域信用风控建模中的变量分箱处理。如下:
# 我们首先选择对连续变量进行最优分段,在连续变量的分布不满足最优分段的要求时,再考虑对连续变量进行等距分段。最优分箱的代码如下:
(119703, 11)
# 针对我们将使用最优分段对于数据集中的RevolvingUtilizationOfUnsecuredLines、age、DebtRatio和MonthlyIncome进行分类。
mono_bin(data.SeriousDlqin2yrs,data.RevolvingUtilizationOfUnsecuredLines)
mono_bin(data.SeriousDlqin2yrs,data.age)
============================================================ min max sum total rate woe0 21 30 7913 8885 0.890602 -0.5060931 31 34 6640 7383 0.899363 -0.4128282 35 38 7594 8386 0.905557 -0.3424473 39 41 7131 7849 0.908523 -0.3072624 42 43 4890 5362 0.911973 -0.2650315 44 46 8163 8868 0.920501 -0.1538306 47 48 5776 6274 0.920625 -0.1521337 49 51 8545 9280 0.920797 -0.1497688 52 53 5454 5901 0.924250 -0.1014539 54 56 7922 8463 0.936075 0.08098010 57 59 7517 7946 0.946011 0.26046611 60 61 4942 5200 0.950385 0.34956712 62 64 7464 7776 0.959877 0.57184413 65 68 6968 7212 0.966167 0.74891614 69 75 7911 8141 0.971748 0.93493115 76 103 6620 6777 0.976833 1.138606 min max sum total rate woe 0 21 30 7913 8885 0.890602 -0.506093 1 31 34 6640 7383 0.899363 -0.412828 2 35 38 7594 8386 0.905557 -0.342447 3 39 41 7131 7849 0.908523 -0.307262 4 42 43 4890 5362 0.911973 -0.265031 5 44 46 8163 8868 0.920501 -0.153830 6 47 48 5776 6274 0.920625 -0.152133 7 49 51 8545 9280 0.920797 -0.149768 8 52 53 5454 5901 0.924250 -0.101453 9 54 56 7922 8463 0.936075 0.080980 10 57 59 7517 7946 0.946011 0.260466 11 60 61 4942 5200 0.950385 0.349567 12 62 64 7464 7776 0.959877 0.571844 13 65 68 6968 7212 0.966167 0.748916 14 69 75 7911 8141 0.971748 0.934931 15 76 103 6620 6777 0.976833 1.138606mono_bin(data.SeriousDlqin2yrs,data.MonthlyIncome)
以上这篇浅谈pandas.cut与pandas.qcut的使用方法及区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python实现连续数据的离散化处理主要基于两个函数,pandas.cut和pandas.qcut,前者根据指定分界点对连续数据进行分箱处理,后者则可以根据指定
用途pandas.cut用来把一组数据分割成离散的区间。比如有一组年龄数据,可以使用pandas.cut将年龄数据分割成不同的年龄段并打上标签。原型pandas
在python较新的版本中,pandas.qcut()这个函数中是有duplicates这个参数的,它能解决在等频分箱中遇到的重复值过多引起报错的问题;在比较旧
本文实例讲述了Python爬虫之pandas基本安装与使用方法。分享给大家供大家参考,具体如下:一、简介:PythonDataAnalysisLibrary或p
pandas的qcut可以把一组数字按大小区间进行分区,比如data=pd.Series([0,8,1,5,3,7,2,6,10,4,9])比如我要把这组数据分