Я пытаюсь создать новый столбец в кадре данных pandas на основе того, содержится ли строка в другом столбце. Я использую np.select на основе этого сообщения . Вот пример кадра данных и пример функции для создания нового столбца
df=pd.DataFrame({'column':['one','ones','other','two','twos','others','three','threes']})
def add(df):
conditions = [
('one' in df['column']),
('two' in df['column']),
('three' in df['column']),
('other' in df['column'])]
choices = [1, 2, 3, 0]
df['Int'] = np.select(conditions, choices, default=0)
return df
new_df=add(df)
Вывод, который я получаю
column Int
0 one 0
1 ones 0
2 other 0
3 two 0
4 twos 0
5 others 0
6 three 0
7 threes 0
И что я хочу, это
column Int
0 one 1
1 ones 1
2 other 0
3 two 2
4 twos 2
5 others 0
6 three 3
7 threes 3
что я делаю не так?