У меня есть простой DataFrame вроде следующего:Панды DataFrame: заменить все значения в столбце, основываясь на состоянии
Я хочу, чтобы выбрать все значения из столбца «Первый сезон» и заменить тех, которые превышают 1990 год на 1. В этом примере только Балтиморские вороны заменили бы в 1996 году на 1 (сохраняя остальную часть данных без изменений).
Я использовал следующие:
df.loc[(df['First Season'] > 1990)] = 1
Но, он заменяет все значения в этой строке на 1, а не только значения в столбце «Первый сезон».
Как заменить только значения из этого столбца?
работал отлично! Невозможно ли наложить несколько преобразований? 'df.loc [df ['First Season']> 1990, 'First Season'] = 1 df.loc [df ['First Season'] <1990, 'First Season'] = 0' делает все значения в этот столбец возвращает 0 – ichimok
Вы можете использовать трюк 'df ['First Season'] = (df ['First Season']> 1990) .astype (int)' this создает булевскую серию и кастинг для int преобразует 'True' и 'False' на' 1' и '0' соответственно – EdChum
astype (int) больше Pandorable! Хороший ответ. – mythicalcoder