python-3.x - 如何根据条件(分类变量)替换数据框中的特定列?
问题描述
如果工资是或在df中,我需要将工资状态替换为1
或分别替换。0
greater than 50,000
less than or equal to 50,000
数据框形状:30162*13
我试过这个:
data2['SalStat']=data2['SalStat'].map({"less than or equal to 50,000":0,"greater than 50,000":1})
我也尝试过data2['SalStat']
,loc
但没有任何成功。
我该怎么做?
解决方案
我认为您的解决方案很好。
如果只想通过子字符串匹配,例如通过greater
使用Series.str.contains
布尔掩码转换为0,1
:
data2['SalStat']=data2['SalStat'].str.contains('greater').astype(int)
或者:
data2['SalStat']=data2['SalStat'].str.contains('greater').view('i1')
推荐阅读
- asp.net - 如何根据 Visual Studio 错误信息定位代码中的 Lamba 方法
- javascript - 如何添加链接并突出显示从 json 文件接收到的数据
- reactjs - 使用 props 值在 useEffect 挂钩中删除状态数组元素中的元素
- django-rest-framework - "密码": [ "此字段为必填项。" ]
- sqlite - 将.csv文件导入sqlite DB浏览器时如何避免/删除不需要的字符插入?
- javascript - 想要使用布尔值显示和隐藏元素 true false
- c# - 按 ID 获取正在运行的任务
- ios - 如何在tableview swift中自动调整标题视图的大小?
- mysql - 当有多个相似项目时,命名表列的最佳方法是什么?
- snowflake-cloud-data-platform - 数据治理 - 分类