我刚从Python开始,我有一个很大的受试者列表和他们的(BMI)体重指数(以及更多的数据)。 我需要创建一个新的列(称为OMS),在那里我可以说明他们是否“正常”、“超重”、“肥胖”,等等。你知道吗
但我就是找不到正确的方法。我试过了np.什么时候但这只适用于两个条件。你知道吗
我尝试了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"
有什么想法吗?我卡住了。你知道吗
也可以使用^{} 。你知道吗
尝试一下:
使用
numpy.select
,我喜欢这个替代方法,因为它非常通用,您可以轻松地添加或删除条件。你知道吗相关问题 更多 >
编程相关推荐