Найти в Дзене
Властелин машин

Ловушка новичка при преобразовании типов в Pandas

Рассмотрим самый распространенный способ преобразования типа колонки датафрейма, результат работы которого оборачивается непредсказуемыми сюрпризами для новичка. В этом материале я это и продемонстрирую.

Пусть для примера мы работаем с таблицей:

Попробуем преобразовать вторую колонку к булеву типу с помощью метода astype и посмотрим, что произойдет:

-2

Видите, что незаполненные значения автоматически преобразованы в True и False, при этом np.nan в True, None в False. Не каждый ожидает такого поведения.

Ещё один сюрприз - преобразование первой колонки к строчному виду опять же методом astype:

-3

Теперь попробуем получить незаполненные значения в этой колонке и убедимся, что их нет:

-4

А вот, как найти старые пропущенные значения (только как строки):

-5

Примечательно, что np.nan отображается как строка NaN, а ищется как 'nan'.

-6