Замена значений в кадре данных на nan, когда больше x? - PullRequest
0 голосов
/ 08 июля 2020

Я пытаюсь заменить значения в столбце на NaN. Обычно я использую

imputed_data_x = imputed_data_x.replace(0, np.nan)

Но моя проблема в том, что мои значения не совсем 0, некоторые равны 0,01111 и т.д. c. Как я могу заменить все значения в кадре данных, который меньше 1?

Я пробовал imputed_data_x = imputed_data_x.replace(>1, np.nan)

Но это не сработало. Мне любопытно узнать, могу ли я использовать replace для этого или мне нужна другая команда для условий?

Ответы [ 2 ]

2 голосов
/ 08 июля 2020

Использовать стандартную логическую индексацию :

imputed_data_x[imputed_data_x < 1] = np.nan
0 голосов
/ 08 июля 2020

DataFrame.replace предназначен только для замены фиксированных значений. В вашем случае вы хотите заменить, если значение «близко» к 0, что вы можете express в качестве функции предиката. Команда API для замены значения, в котором предикат возвращает ложь (оставить значение там, где оно истинно):

imputed_data_x = imputed_data_x.where(lambda x: x >= 1, np.nan)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...