Вам необходимо присвоить значение else
, а затем изменить его с помощью маски, используя isin
df['IND'] = 0
df.loc[df['VALUE'].isin([1,4]), 'IND'] = 1
Для нескольких условий вы можете сделать следующее:
mask1 = df['VALUE'].isin([1,4])
mask2 = df['SUBVALUE'].isin([10,40])
df['IND'] = 0
df.loc[mask1 & mask2, 'IND'] = 1
Рассмотрим пример ниже:
df = pd.DataFrame({
'VALUE': [1,1,2,2,3,3,4,4]
})
Выход:
VALUE
0 1
1 1
2 2
3 2
4 3
5 3
6 4
7 4
Тогда
df['IND'] = 0
df.loc[df['VALUE'].isin([1,4]), 'IND'] = 1
Выход:
VALUE IND
0 1 1
1 1 1
2 2 0
3 2 0
4 3 0
5 3 0
6 4 1
7 4 1