在Python中将数字数据转换为分类数据

2024-09-30 16:20:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个熊猫数据框,列fert_Rate表示生育率。我想有一个新的列,其中这些值是分类的,而不是数字的。我想要的不是1.0、2.5、4.0,而是(低、中、高)。在R中,我会这样写:

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中有类似的方法吗?还是我应该在列上循环创建


Tags: 数据方法rate分类数字lowmediumhigh
1条回答
网友
1楼 · 发布于 2024-09-30 16:20:34

使用^{}来存储数据

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

相关问题 更多 >