используйте лямбда-функцию (или именованную функцию) с apply
df.Category = df.Sales.apply(
lambda x: 'Fast Movers' if x >=300 else ('Medium Fast Movers' if x >= 200 else 'Slow Movers')
)
вместо лямбды, именованную функцию можно определить так:
def move_speed(x):
if x >= 300:
return 'Fast Movers'
if x >= 200:
return 'Medium Fast Movers'
return 'Slow Movers'
или, вы можете назначить каждое условие индивидуально, используя loc
df.loc[df.Sales > 300, 'Category'] = 'Fast Movers'
df.loc[df.Sales < 200, 'Category'] = 'Slow Movers'
df.Category.fillna('Medium Fast Movers', inplace=True)
, оба будут создавать этот фрейм данных:
Company Sales Category
0 MC 360.0 Fast Movers
1 MC 340.0 Fast Movers
2 MC 338.5 Fast Movers
3 MC 335.5 Fast Movers
4 MC 235.0 Medium Fast Movers
5 MC 235.0 Medium Fast Movers
6 MC 234.0 Medium Fast Movers
7 MC 127.0 Slow Movers
8 MC 121.0 Slow Movers
9 MC 120.5 Slow Movers