根据 Dataframe 中的多列为列赋值
我有以下代码-在那里我试图赋值给一个列的人的年龄为基础
conditions = [df['age']<=25,df['age']>25,df['age']>=50]
values = ['age below 25','between 25 and 50','50+']
df['age category']=np.select(conditions,values)
输出-
gender name age age category
0 male A 45 between 25 and 50
1 female B 22 age below 25
2 other C 54 between 25 and 50
对于54岁,应将年龄类别指定为50岁以上
所以我已经尝试了下面的代码,它显示了一个错误
conditions = [df['age']<=25,(df['age']>25 & df['age']<50),df['age']>=50]
values = ['age below 25','between 25 and 50','50+']
df['age category']=np.select(conditions,values)
我想我们可以使用where,select或者loc来实现这个,但是完全不确定..提前感谢
2条答案
按热度按时间n9vozmp41#
我在这里使用
cut
:输出:
irlmq6kh2#
您可以使用
default
的np.select
参数,由于遇到的第一个条件已选定,因此您可以用途: