更新時(shí)間:2022年09月01日15時(shí)07分 來源:傳智教育 瀏覽次數(shù):
有時(shí)候我們會(huì)碰到這樣的需求,例如,將有關(guān)年齡的數(shù)據(jù)進(jìn)行離散化(分桶)或拆分為“面元”,直白來說,就是將年齡分成幾個(gè)區(qū)間。Pandas的cut()函數(shù)能夠?qū)崿F(xiàn)離散化操作,該函數(shù)的語法格式如下:
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise')
上述函數(shù)中常用參數(shù)表示的含義如下:
(1)x:表示要分箱的數(shù)組,必須是一維的。
(2)bins:接收int和序列類型的數(shù)據(jù)。如果傳入的是int類型的值,則表示在x范圍內(nèi)的等寬單元的數(shù)量(劃分為多少個(gè)等間距區(qū)間);如果傳入的是一個(gè)序列,則表示將x劃分在指定的序列中,若不在此序列中,則為NaN。
(3)right:是否包含右端點(diǎn),決定區(qū)間的開閉,默認(rèn)為True。
(4)labels:用于生成區(qū)間的標(biāo)簽。
(5)retbins:是否返回bin。
(6)precision:精度,默認(rèn)保留三位小數(shù)。
(7)include_lowest:是否包含左端點(diǎn)。
cut()函數(shù)會(huì)返回一個(gè)Categorical對(duì)象,我們可以將其看作一組表示面元名稱的字符串,它包含了分組的數(shù)量以及不同分類的名稱。
假設(shè)當(dāng)前有一組年齡數(shù)據(jù),需要將這組年齡數(shù)據(jù)劃分為0~12歲、12~25歲、25~45歲、45~50歲、50歲以上共5種類型,圖4-28是將這些數(shù)據(jù)經(jīng)過面元?jiǎng)澐智昂蟮膶?duì)比效果。
圖4-28 面元化處理過程
為什么臟數(shù)據(jù)要提前進(jìn)行數(shù)據(jù)預(yù)處理?
2022-08-25大數(shù)據(jù)開發(fā)崗會(huì)被淘汰嗎?大數(shù)據(jù)崗位已經(jīng)飽和了嗎?
2022-08-22用Python做數(shù)據(jù)分析的好處
2022-08-19什么是增量式爬蟲?什么是深層網(wǎng)絡(luò)爬蟲?
2022-08-18Python學(xué)習(xí)之IDE集成開發(fā)環(huán)境相關(guān)介紹
2022-08-16什么是Rebalanc?Rebalance觸發(fā)時(shí)機(jī)有哪些?
2022-08-12北京校區(qū)