python - 如何在 Python 中的数据框上迭代 if else 语句?
问题描述
我是 Python 新手。请帮我解决以下问题。
我有一个下面给出的数据集(示例数据),我想创建一个名为salary_range 的新列。请建议我如何在数据框上迭代 if else 语句以创建新列“Salary_range”
数据框:
Name Salary Salary_Range
A 10 Low
B 8 Low
C 21 Medium
D 22 Medium
A 23 Medium
R 25 Medium
K 31 High
A 33 High
L 34 High
M 41 Very_High
N 44 Very_High
解决方案
如果不存在,df.loc会创建一个新列。我想你想要这样的东西:
filter = (df['Salary'] > 35)
df.loc[filter, 'New_Salary_Range'] = 'VERY HIGH'
filter = (df['Salary'] > 30) & (df['Salary'] <= 35)
df.loc[filter, 'New_Salary_Range'] = 'HIGH'
filter = (df['Salary'] > 20) & (df['Salary'] <= 30)
df.loc[filter, 'New_Salary_Range'] = 'MEDIUM'
filter = (df['Salary'] < 20)
df.loc[filter, 'New_Salary_Range'] = 'LOW'
我希望这会有所帮助(:
推荐阅读
- java - BluetoothAdapter.getBondedDevices 虽然已配对但返回零设备,为什么?
- c++ - 从 clang-tidy 分析中排除头文件
- java - AWS 网络负载均衡器 (NLB) 是否支持 ALPN?
- mocha.js - 如何在 Mocha 测试中添加自定义成功消息?
- xml - 在 VB6 中替换 XML 节点中的值
- vue.js - Vue 中的 Matomo 标签管理器实现
- ruby-on-rails - Rails 控制台执行过时的代码副本
- powershell - 在 Powershell 脚本中检测/等待空闲
- c++ - 编译器告诉我我没有扩展我的参数包?
- imagemagick - 在 i3 中使用 ImageMagick 在 URxvt 中伪造透明度