Python - применять лямбду с условием if - PullRequest
0 голосов
/ 27 июня 2018

Я хочу преобразовать столбец pandas, содержащий Nan, из строки в число с плавающей точкой. Это код, который я пробовал, но он возвращает мне неверную синтаксическую ошибку

data.VAL_DEAL=data.VAL_DEAL.apply(lambda x: float(x.replace(",","")) if math.isnan(x)!=True)

1 Ответ

0 голосов
/ 27 июня 2018

Должно работать следующее лямбда-выражение:

lambda x: float(x.replace(",","") if not math.isnan(x) else x)

Обратите внимание на обязательную else -часть. Это предполагает, что вы хотите, чтобы нан был неизменен. См. Документы по Условные выражения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...