Я пытаюсь сделать следующее:
Ниже моя попытка кода.
def play(df):
if df['Team'] in list(['Blue']):
return 'Exclude','**************'
df['Can he play?'],df['Why?'] = df.apply(play, axis = 1)
Я не знаю, как вернуть значение фрейма данных из условного оператора
Как вернуть "Синий" (значение в df ["Команда"])
Я действительно не понимаю, почему вы написали if df["Team"] in list["Blue"]). Прежде всего, ["Blue"] уже представляет собой (одноэлементный) список, поэтому его упаковка в list() просто делает его бесполезную копию. Но во-вторых, почему не только if df["Team"] == "Blue"?






Это можно сделать в два этапа, например:
df = pd.DataFrame({'Team': ['Blue', 'Green', 'Blue', 'Red']})
colour = 'Blue'
df['Can he play?'] = np.where(df['Team'] == colour, 'Y', None)
df['Why?'] = np.where(df['Team'] == colour, colour, None)
Team Can he play? Why?
0 Blue Y Blue
1 Green None None
2 Blue Y Blue
3 Red None None
Всем привет. При публикации кода Python убедитесь, что ваш отступ правильно отформатирован. Вы можете скопировать / вставить свой точный код в форму редактирования, выбрать его и нажать Ctrl-K, чтобы сделать отступ сразу.