Обратите внимание, что есть также возможность сделать это с помощью numpy select
, что будет выглядеть примерно так:
import pandas as pd
df = pd.DataFrame({'A' : pd.np.random.choice([.2, .3, .4, .5, .6, .7], 200),
'B' : pd.np.random.randint(30, 50, 200)})
conds = [ (df['A'] >= .4) & (df['B'] >= 40),
(df['A'] >= .4) & (df['B'] < 40),
(df['A'] <= .4) & (df['B'] >= 40),
(df['A'] <= .4) & (df['B'] < 40) ]
cond_resp = ['Sustenance', 'Improvement', 'Distraction', 'Low Focus']
df['C'] = np.select(conds, cond_resp)