教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Python大數(shù)據(jù)培訓(xùn):離散化連續(xù)數(shù)據(jù)

更新時(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 面元化處理過程

0 分享到:
和我們?cè)诰€交談!