Очистка и обработка данных — это ключевой этап аналитики, без которого невозможно получить достоверные выводы. В реальных наборах данных часто встречаются пропуски, дубликаты, ошибки, выбросы и другие искажения. Цель этого этапа — привести данные к чистому, структурированному виду, готовому для анализа и визуализации.
Пропущенные значения появляются из-за ошибок сбора или передачи данных. Основные подходы:
Удаление строк или столбцов с пропущенными значениями
Замена пропусков средним или медианой
Интерполяция или прогнозирование пропусков
import pandas as pd
df = pd.read_csv('file.csv')
# Удаление строк с пропущенными значениями
df = df.dropna()
# Заполнение пропусков средним значением
df = df.fillna(df.mean())
print(df.head())
Дубликаты могут искажать статистику и приводить к ошибочным выводам.
df = df.drop_duplicates()
Выбросы — это значения, которые резко отличаются от большинства данных.
Метод стандартного отклонения:
std = df['column'].std()
mean = df['column'].mean()
df = df[(df['column'] > mean - 3*std) & (df['column'] < mean + 3*std)]
Метод межквартильного размаха (IQR):
Q1, Q3 = df['column'].quantile([0.25, 0.75])
IQR = Q3 - Q1
df = df[(df['column'] >= Q1 - 1.5*IQR) & (df['column'] <= Q3 + 1.5*IQR)]
Неправильные форматы (например, даты как текст) мешают анализу.
# Преобразование строки в число
df['price'] = pd.to_numeric(df['price'], errors='coerce')
# Преобразование даты в формат datetime
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
Удаляйте лишние столбцы и записи, чтобы упростить анализ.
# Удаление ненужных столбцов
df = df.drop(columns=['temp', 'extra_info'])
# Отбор строк по условию
df = df[df['sales'] > 100]
После очистки важно убедиться, что данные логичны и не содержат ошибок.
# Проверка пропусков и дубликатов
print(df.isnull().sum())
print(df.duplicated().sum())
# Проверка диапазона значений
print(df[df['age'] < 0]) # возраст не может быть отрицательным
Очистка данных — это фундамент надёжного анализа. Используя pandas, можно эффективно находить и устранять пропуски, ошибки, выбросы и дубликаты.
Хорошо подготовленные данные = корректные выводы и качественные модели.