Освоение обработки данных: основные методы и примеры кода

Обработка данных, также известная как предварительная обработка данных, — важный этап в конвейере анализа данных. Он включает в себя очистку, преобразование и обработку необработанных данных в структурированный формат, подходящий для анализа. В этой статье мы рассмотрим несколько методов и приведем примеры кода с использованием Python и популярных библиотек, таких как Pandas и Numpy.

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

1.1 Удаление пропущенных значений:

import pandas as pd
# Drop rows with missing values
df.dropna()
# Fill missing values with a specific value
df.fillna(0)
# Fill missing values with the mean of the column
df.fillna(df.mean())

1.2 Удаление дубликатов:

import pandas as pd
# Remove duplicate rows
df.drop_duplicates()
# Remove duplicate rows based on specific columns
df.drop_duplicates(subset=['column1', 'column2'])

1.3 Исправление противоречивых данных:

import pandas as pd
# Replace values in a column
df['column'].replace({'old_value': 'new_value'})
# Remove leading/trailing whitespaces in string columns
df['column'] = df['column'].str.strip()
  1. Преобразование данных.
    Преобразование данных включает в себя преобразование данных в желаемый формат. Вот некоторые распространенные методы:

2.1 Изменение типов данных:

import pandas as pd
# Change data type of a column
df['column'] = df['column'].astype(int)
# Convert string column to datetime
df['date_column'] = pd.to_datetime(df['date_column'])

2.2 Масштабирование и нормализация:

import numpy as np
from sklearn.preprocessing import MinMaxScaler
# Scale numeric columns between 0 and 1
scaler = MinMaxScaler()
df[['column1', 'column2']] = scaler.fit_transform(df[['column1', 'column2']])

2.3 Агрегирование данных:

import pandas as pd
# Group by a column and calculate mean
df.groupby('column')['column_to_aggregate'].mean()
# Group by multiple columns and calculate sum
df.groupby(['column1', 'column2'])['column_to_aggregate'].sum()
  1. Манипулирование данными.
    Манипулирование данными включает в себя изменение формы, слияние и поворот данных. Вот несколько методов:

3.1 Изменение формы данных:

import pandas as pd
# Pivot a table
df.pivot(index='index_column', columns='column_to_pivot', values='values')
# Melt a table
pd.melt(df, id_vars=['column1', 'column2'], value_vars=['column3', 'column4'])

3.2 Объединение данных:

import pandas as pd
# Merge two dataframes based on a common column
merged_df = pd.merge(df1, df2, on='common_column')
# Concatenate multiple dataframes vertically
concatenated_df = pd.concat([df1, df2])

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