簡體   English   中英

在 Python 中將數值數據轉換為分類數據

[英]Convert numerical data to categorical in Python

我有一個 Pandas 數據框,列 fert_Rate 表示生育率。 我想有一個新列,這些值是分類而不是數字。 我想要的不是 1.0、2.5、4.0,而是(低、中、高)。 在 RI 中會這樣寫:

attach(mydata)
mydata$fertcat[fert_Rate > 3.5] <- "High"
mydata$fertcat[fert_Rate > 2 & fert_Rate <= 3.5] <- "Medium"
mydata$fertcat[fert_Rate <= 2] <- "Low"
detach(mydata)

有沒有類似的方法可以在 python 中做到這一點,還是我應該循環遍歷列來創建?

使用pd.cutpd.cut您的數據。

df = pd.DataFrame({'fert_Rate': [1, 2, 3, 3.5, 4, 5]})
>>> df.assign(fertility=pd.cut(df['fert_Rate'], 
                               bins=[0, 2, 3.5, 999], 
                               labels=['Low', 'Medium', 'High']))
   fert_Rate fertility
0        1.0       Low
1        2.0       Low
2        3.0    Medium
3        3.5    Medium
4        4.0      High
5        5.0      High

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM