Как работает метод isnull () для возврата всех строк, которые отсутствуют в моем фрейме данных? - PullRequest
0 голосов
/ 02 января 2019

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

Мой фрейм данных с именем df_train содержит столбец с именем Age.Этот столбец NaN для 177 записей.

Я отправляю следующий код ...

df_train[df_train['Age'].isnull()]

... и возвращает все отсутствующие записи.

Теперь, если я отправлю df_train['Age'].isnull(), все, что я получу, это логический список значений.Как тогда объект фрейма данных работает, чтобы преобразовать этот логический список в строки, которые мы на самом деле хотим?

Я не понимаю, как повторная передача логического списка в фрейм данных приводит только к 177 нужным нам записям- Может кто-нибудь, пожалуйста, ELI5 для новичка?

1 Ответ

0 голосов
/ 02 января 2019

Вам нужно будет создать подмножество dataframe, которое вы хотите использовать.Предположим, вы хотите использовать только те строки, где df_train['Age'] не равно null.В этом случае вы должны выбрать

df_train_to_use = df_train[df_train['Age'].isnull() == False]

Теперь вы можете перепроверить любую другую колонку, которую вы можете захотеть использовать, и иметь nulls например

 df_train['Column_name'].isnull().any()

Если это вернетTrue, вы можете пойти дальше и заменить пустые значения значениями по умолчанию, средними значениями, нулями или любыми другими методами, которые вы предпочитаете, обычно применяемыми в программах машинного обучения.

Пример

df_train['Column_name'].dropna()

df_train['Column_name'].fillna('') #for strings

df_train['Column_name'].fillna(0) #for int

df_train['Column_name'].fillna(0.0) #for float 

И т. Д.

Надеюсь, это поможет вам объяснить.

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