首页 > 解决方案 > 如何根据条件(分类变量)替换数据框中的特定列?

问题描述

如果工资是或在df中,我需要将工资状态替换为1或分别替换。0greater than 50,000less than or equal to 50,000

这是df:

数据框形状:30162*13

我试过这个:

data2['SalStat']=data2['SalStat'].map({"less than or equal to 50,000":0,"greater than 50,000":1})

我也尝试过data2['SalStat']loc但没有任何成功。

我该怎么做?

标签: python-3.xpandasdataframe

解决方案


我认为您的解决方案很好。

如果只想通过子字符串匹配,例如通过greater使用Series.str.contains布尔掩码转换为0,1

data2['SalStat']=data2['SalStat'].str.contains('greater').astype(int)

或者:

data2['SalStat']=data2['SalStat'].str.contains('greater').view('i1')

推荐阅读