溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python分箱的方法

發(fā)布時間:2020-08-14 12:09:54 來源:億速云 閱讀:253 作者:小新 欄目:編程語言

python分箱的方法?這個問題可能是我們日常學習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热?,讓我們一起來看看吧?/p>

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分箱的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI