Предобработка данных

Предобработка данных (Data preprocessing) — это процесс подготовки данных для анализа. Она включает в себя широкий спектр действий, начиная от сбора данных и заканчивая их очисткой, обработкой и преобразованием для последующего анализа.

Вот несколько примеров задач, которые решаются в процессе предобработки данных:

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

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

Нормализация данных: преобразование данных к одному масштабу, такому как нормализация до 0-1, стандартизация, логарифмирование, преобразование Бокса-Кокса и т.д.

Кодирование категориальных признаков: преобразование категориальных признаков в числовые для использования в анализе данных, такие как one-hot encoding, label encoding и т.д.

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

Слияние данных: объединение данных из нескольких источников в единый набор данных, для дальнейшего анализа.

Удаление дубликатов: удаление повторяющихся строк из набора данных.

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

df = pd.read_excel( ‘/datasets/test.xlsx’, sheet_name=‘1 лист’) — чтение файла excel

pd[‘test’] = pd[‘test’].fillna(value=» «) — Замена (работает со значениями Nontype)

pd.loc[pd[‘test’] ==’None’,’test’]=’new’ — Замена (тип данных например str)

print(test.head()) — вывод 5 первых значений

print(test.tail()) — вывод последний 5 значений

print(test.info()) — информация о таблице

print(pd.groupby(‘test’)[‘new_test’].count() — группировка и вывод количества значений

test_grouped = test.groupby(‘test’).agg({‘purchase’: [‘count’, ‘sum’]}) — группировка и вывод функций Count, Sum

test_grouped[‘test’] [‘sum’] — обращаемся к сумме значений столбца test

print(test[‘columns’].mean()) — среднее арифметическое значение

print(test[‘columns’].median()) — медианное значение

print(test[‘columns’].max()) — максимальное значение

print(test[‘columns’].min()) — минимальное значение

data[‘columns’] = pd.to_numeric(data[‘colums’], errors=‘coerce’) — перевод строки в числовое значение

data[‘columns’] = data[‘columns’].astype(‘int’)

data[‘date’] = pd.to_datetime(data[‘date’], format=‘%d.%m.%YZ%H:%M:%S’) — работа с датой и временем

data[‘month’] = pd.DatetimeIndex(data[‘date’]).month — добавление столбца месяц

data_merge = data.merge(category, on=‘category_id’, how=‘left’) — объединение таблиц методом merge

print(date[date[‘country’] == ‘Brazil’]) — срез данных

print(date.query(‘country == «Brazil» ‘)) — срез данных

date[‘ceil’] = date[‘time’].dt.ceil(‘1H’) — приведение даты к верху

date[‘floor’] = date[‘time’].dt.floor(‘1H’) — приведение даты к низу

data_pivot = data(index=[‘category’, ‘subcategory’], columns=‘name’, values=‘sale’, aggfunc=‘sum’) — сводная таблица pivot_table

new_data = [[‘columns1’, ‘columns2’]] — создание таблицы из основной таблицы

print(data[‘test’].value_counts()) — подсчет значений столбца

print(len(data[‘test’].unique())) — подсчет уникальных значений

pd[‘test’].duplicated().sum() — подсчет дубликатов

print(pd[‘test’].value_counts()) — подсчет значений в столбце

data = data.drop_duplicates().reset_index(drop=True) — удаление дубликатов

data[‘test’] = data[»test].str.lower() — название к нижнему регистру

Теги: