df['color'] = np.where(df['Set']=='Z', 'green', 'red')
Например,
import pandas as pd import numpy as np df = pd.DataFrame({'Type':list('ABBC'), 'Set':list('ZZXY')}) df['color'] = np.where(df['Set']=='Z', 'green', 'red') print(df)
дает
Set Type color 0 Z A green 1 Z B green 2 X B red 3 Y C red
Если у вас было больше условий, используйте
np.select
. Например, если вы хотите, чтобы цвет был
yellow
, когда (df['Set'] == 'Z') & (df['Type'] == 'A')
blue
, когда (df['Set'] == 'Z') & (df['Type'] == 'B')
purple
, когда (df['Type'] == 'B')
black
, затем используйте
df = pd.DataFrame({'Type':list('ABBC'), 'Set':list('ZZXY')})
conditions = [
(df['Set'] == 'Z') & (df['Type'] == 'A'),
(df['Set'] == 'Z') & (df['Type'] == 'B'),
(df['Type'] == 'B')]
choices = ['yellow', 'blue', 'purple']
df['color'] = np.select(conditions, choices, default='black')
print(df)
, что дает
Set Type color
0 Z A yellow
1 Z B blue
2 X B purple
3 Y C black