Как создать новый столбец в Dataframe, используя условие для существующих столбцов? - PullRequest
0 голосов
/ 29 апреля 2020

Попытка создать новый столбец в моем фрейме данных на основе следующего условия:

dataFrame01['final'] = dataFrame01.apply(lambda x: x['Name'] if x['Eval'] == 'NAN' else x['Eval'], axis=1)

, но каждый раз, когда выполняется только блок ELSE, я имею в виду значения из условия else как заполненные, но не из IF условия. Пожалуйста, помогите и дайте мне знать, какую ошибку я здесь делаю.

1 Ответ

1 голос
/ 29 апреля 2020

Трудно сказать, не видя данных. Похоже, что приведенное ниже выражение не оценивается.

x['Eval'] == 'NAN'

В качестве догадки убедитесь, что вы правильно указали свой NaN. В Pandas пропущенные значения обычно указываются как np.nan. Одним из способов оценки пропущенных значений в Pandas является использование pd.isnull (). Таким образом, код будет выглядеть примерно так:

dataFrame01['final'] = dataFrame01.apply(lambda x: x['Name'] if pd.isnull(x['Eval']) else x['Eval'], axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...