#python #pandas
#python #pandas
Вопрос:
Я фильтрую столбец в pandas, но хочу сохранить определенные значения.
Моя цель — изменить значения всех игроков, которые не являются Федерером, Надалем и Джоковичем, на «Другие», чтобы
Перед:
winner_name
Federer
Nadal
Djokovic
Kyrgios
Hewitt
После:
winner_name
Federer
Nadal
Djokovic
Other
Other
Я пробовал это
df['winner_name'] = df['winner_name'].replace(to_replace=r"^(.(?<!Roger Federer))*?$", value='other',regex=True)
но это заменяет все значения, отличные от Federer, на ‘other’.
winner_name
Federer
Other
Other
Other
Other
Я хочу применить условие к нескольким значениям
Ответ №1:
np.where
и isin
здесь достаточно:
df['winner_name'] = np.where(df['winner_name'].isin(['Federer', 'Nadal', 'Djokovic']),
df['winner_name'], 'Other')