March 30, 2022

Обязательные проверки перед анализом данных с Pandas

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

import pandas as pd
df = pd.DataFrame([['Пугачев', 'Иван', 12], ['Емельянов', 'Павел', 30], ['Коломойский', 'Андрей'],
                   ['Авдеева', 'Нонна', 40],
                 ['Пугачев', 'Иван', 12], ['Кравченко', 'Петр', 32]], 
                  columns=['Фамилия', 'Имя', 'Доход']) 
df

Проверка незаполненных значений

Воспользуемся комбинацией методов isna и sum. isna для каждой ячейки датафрейма вернет логическое значение, правда - если она не заполнена и ложь в противоположном случае:

df.isna()

а sum преобразует True в 1, False в 0 и суммирует по столбцам:

df.isna().sum()

Проверка дубликатов

Вызываем метод duplicated, получаем логические значения (однако уже на уровне целой строки) и сразу подсчитываем как в примере выше методом sum:

df.duplicated().sum()

Идентификация выбросов

Выбивающиеся из логики значения (слишком большие и малые) для числовых столбцов можно попытаться найти методом describe:

df.describe()

Также для решения этой задачи пригодится визуализация распределений (подробнее писал ранее).

Еще много интересного

Общая информация о таблице (в том числе, количество заполненных значений по столбцам) возвращается методом info:

df.info()