首页 > 解决方案 > 如何在 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

标签: pythonpandas

解决方案


如果不存在,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'

我希望这会有所帮助(:


推荐阅读