新聞中心
1、數(shù)據(jù)分箱

數(shù)據(jù)分箱技術在Pandas官方給出的定義:Bin values into discrete intervals,是指將值劃分到離散區(qū)間。好比不同大小的蘋果歸類到幾個事先布置的箱子中;不同年齡的人劃分到幾個年齡段中。
這種技術在數(shù)據(jù)處理時會很有用。
2、例子
我們先來看例子
import numpy as np import pandas as pd ages = np.array([5,10,36,12,77,89,100,30,1]) #年齡數(shù)據(jù) 1 2 3
現(xiàn)把數(shù)據(jù)劃分成 3 個區(qū)間,并打上老、中、青的標簽。Pandas提供了易用的API,很容易就可以實現(xiàn)。
pd.cut(ages, 3, labels=['青','中','老']) 1
結果如下,一行代碼便實現(xiàn)。
[青, 青, 中, 青, 老, 老, 老, 青, 青] 1
cut在操作時,統(tǒng)計了一維數(shù)組的最小、值,得到一個區(qū)間長度,因為需要劃分3個區(qū)間,所以會得到三個均勻的區(qū)間,如下。
pd.cut(ages, 3 ) >>>區(qū)間如下: Categories (3, interval[float64]): [(0.901, 34.0] < (34.0, 67.0] < (67.0, 100.0]] 1 2 3 4
給定數(shù)據(jù)的最小值為1,區(qū)間默認是左開右閉,所以為了囊括1,需要將最靠左的區(qū)間向左延長0.1%(總區(qū)間長度),默認精度為小數(shù)點后3位。
3、函數(shù)原型
通過以上例子初步認識cut后,再分析cut原型就比較容易。
參數(shù)含義如下:
x:被切分的類數(shù)組數(shù)據(jù),注意必須是1維;
bins:簡單理解為分箱規(guī)則,就是桶。支持int 標量、序列;
right:表示是否包含區(qū)間的右邊界,默認包含;
labels:分割后的bins打標簽;
retbins:表示是否將分割后的bins返回,默認不返回。如為True,則:
array([ 0.901, 34. , 67. , 100. ])) 1 2 3 4 5 include_lowest :區(qū)間的左邊是開還是閉,默認為開; duplicates;是否允許重復區(qū)間。raise:不允許,drop:允許。
python學習網(wǎng),大量的免費python視頻教程,歡迎在線學習!
分享名稱:創(chuàng)新互聯(lián)Python教程:python如何分箱
文章鏈接:http://www.dlmjj.cn/article/dheiisg.html


咨詢
建站咨詢
