【发布时间】:2020-04-18 18:49:12
【问题描述】:
我刚从 Python 开始,我有一个很大的主题列表和他们的 (BMI) 体重指数(以及更多数据)。 我需要创建一个新列(称为 OMS),我可以在其中说明它们是否“正常”、“超重”、“肥胖”等。
但我就是找不到正确的方法。我尝试了 np.when 但这仅适用于 2 个条件。
我试过if、elif、else都没有成功,还有:
df['oms'] = np.nan
df['oms'].loc[(df['IMC'] <=18.5 )] = "slim"
df['oms'].loc[(df['IMC'] >= 18.5) & (df['IMC'] <25 )] = "normal"
df['oms'].loc[(df['IMC'] >= 25) & (df['IMC'] <=30 )] = "overweight"
df['oms'].loc[(df['IMC'] > 30)] = "obese"
有什么想法吗?我被卡住了。
【问题讨论】:
-
谢谢大家!!!我会处理并通知您。
-
只是为了好玩和学习,我尝试了你们建议的所有 4 种解决方案,并进行了适当的调整,一切都奏效了。
标签: python pandas multiple-conditions