Использование .lo c условий
Это решение довольно простое, каждой строке присваивается значение на основе условия в .loc()
. В последней строке используется .fillna()
для присвоения значения по умолчанию.
df.loc[df['your_column'].isin([21,32]), 'Category'] = 'CAT A'
df.loc[df['your_column'].isin([22,34]), 'Category'] = 'CAT B'
df['Category'] = df.Category.fillna('Sorry')
Использование np.select
Это метод, описанный в этом ответе , предложенном @ALollz . Вероятно, это лучший способ продолжить, но он несколько обременительн для простых случаев. данные условия. Параметр default
будет использоваться для заполнения там, где не выполнены все условия.
conditions = [df['your_column'].isin([21,32]), df['your_column'].isin([22,34])]
choices = ['CAT A', 'CAT B']
df['Category'] = np.select(conditions, choices, default="Sorry")