Поиск отсутствующих значений с помощью Missingno и Pandas

Первым шагом в очистке данных для меня обычно является поиск отсутствующих данных. Отсутствующие данные могут иметь разные источники, их может не быть в наличии, они могут быть потеряны, повреждены, и обычно это не проблема, мы можем заполнить их, но я думаю, что часто отсутствующие данные сами по себе очень информативны, в то время как мы можем заполнить данные средним значением или чем-то подобным, и я покажу вам, как это часто делается,
Например, если у вас интернет-магазин одежды, если покупатель ни разу не кликнул на категорию для детей, скорее всего, у него нет детей. Вы можете узнать много нового, просто взяв информацию, которой там нет.

Библиотека missingno
Missingno — это замечательный модуль Python, который предоставляет набор визуализаций, помогающих понять наличие и распределение отсутствующих данных в кадре данных pandas. Это может иметь форму дендрограммы, тепловой карты, гистограммы или матричного графика.
С помощью этих графиков мы можем определить, где встречаются отсутствующие значения, какова величина пропусков и связаны ли отсутствующие значения друг с другом.
С помощью команды pip вы можете установить библиотеку missingno:

pip install missingno
Войти в полноэкранный режим Выйти из полноэкранного режима

Импорт библиотек и загрузка данных

import pandas as pd
import missingno as msno
df = pd.read_csv('housing.csv')
df.head()
Войти в полноэкранный режим Выйти из полноэкранного режима

Быстрый анализ с помощью Pandas
Прежде чем мы воспользуемся библиотекой missingno, в библиотеке pandas есть несколько функций, которые могут дать нам представление о количестве отсутствующих данных.

Первый способ — использовать метод .describe(). Эта функция возвращает таблицу со сводной статистикой о кадре данных, такой как среднее, максимальное и минимальное значения.

df.describe()
Вход в полноэкранный режим Выход из полноэкранного режима


Используя метод .info(), мы можем продвинуться на один шаг дальше. В дополнение к сводной информации о фрейме данных вы получите подсчет ненулевых значений.

df.info()
Вход в полноэкранный режим Выход из полноэкранного режима

Еще одна быстрая техника

df.isna().sum()
Войти в полноэкранный режим Выйти из полноэкранного режима

Эта функция выдает сводку о количестве отсутствующих значений в кадре данных. Функция isna() находит недостающие значения в датафрейме и возвращает булевский результат для каждого элемента датафрейма. Функция sum() суммирует все истинные значения.


Использование missingno для выявления отсутствующих данных
В библиотеке missingno есть четыре типа графиков для визуализации полноты данных: гистограммы, матричные графики, тепловые карты и дендрограммы.

msno.matrix(df)

Вход в полноэкранный режим Выход из полноэкранного режима


Столбец total_bedrooms на полученном графике отображает некоторое количество отсутствующих данных.

msno.bar(df)
Войти в полноэкранный режим Выход из полноэкранного режима

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

Вы можете заметить, что высота столбца total_bedrooms меньше, чем у других столбцов.

Сводка
Определение отсутствующих данных перед использованием машинного обучения — важный шаг в конвейере качества данных. Это возможно с помощью библиотеки missingno и последовательности визуализаций.

Спасибо за ваше время!

Оцените статью
devanswers.ru
Добавить комментарий