Умные способы заполнения пропущенных значений в кадре данных с использованием среднего значения: пошаговое руководство

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

Метод 1: использование функции fillna()

Функция fillna()в Pandas — это удобный способ заменить пропущенные значения определенным значением. Чтобы заполнить пропущенные значения в DataFrame средним значением, вы можете передать среднее значение, рассчитанное на основе непропущенных значений, в функцию fillna(). Вот пример:

import pandas as pd
# Create a DataFrame with missing values
data = {'A': [1, 2, None, 4, 5],
        'B': [None, 6, 7, 8, 9]}
df = pd.DataFrame(data)
# Fill missing values with the mean
df_filled = df.fillna(df.mean())
print(df_filled)

Выход:

     A    B
0  1.0  7.5
1  2.0  6.0
2  3.0  7.0
3  4.0  8.0
4  5.0  9.0

Метод 2. Использование функции transform()

Функция transform()в Pandas позволяет нам выполнять операции с группами данных. Группируя DataFrame по столбцам или индексам, мы можем вычислить среднее значение для каждой группы и соответствующим образом заполнить недостающие значения. Вот пример:

import pandas as pd
# Create a DataFrame with missing values
data = {'A': [1, 2, None, 4, 5],
        'B': [None, 6, 7, 8, 9]}
df = pd.DataFrame(data)
# Fill missing values with the mean using transform()
df_filled = df.transform(lambda x: x.fillna(x.mean()))
print(df_filled)

Выход:

     A    B
0  1.0  7.5
1  2.0  6.0
2  3.0  7.0
3  4.0  8.0
4  5.0  9.0

Метод 3: использование класса SimpleImputerиз scikit-learn

Если вы предпочитаете использовать библиотеку scikit-learn, вы можете использовать класс SimpleImputerдля заполнения пропущенных значений средним значением. SimpleImputerпредоставляет различные стратегии вменения, включая среднее значение, медиану и моду. Вот пример:

import pandas as pd
from sklearn.impute import SimpleImputer
# Create a DataFrame with missing values
data = {'A': [1, 2, None, 4, 5],
        'B': [None, 6, 7, 8, 9]}
df = pd.DataFrame(data)
# Create an instance of SimpleImputer
imputer = SimpleImputer(strategy='mean')
# Fit and transform the DataFrame
df_filled = pd.DataFrame(imputer.fit_transform(df), columns=df.columns)
print(df_filled)

Выход:

     A    B
0  1.0  7.5
1  2.0  6.0
2  3.0  7.0
3  4.0  8.0
4  5.0  9.0

В этой статье мы рассмотрели три умных способа заполнить пропущенные значения в DataFrame, используя среднее значение. Мы узнали, как использовать функцию fillna()и функцию transform()из Pandas, а также класс SimpleImputerиз scikit-learn. Используя эти методы, вы можете эффективно обрабатывать пропущенные значения и обеспечивать целостность анализа данных. Не забудьте выбрать метод, который соответствует вашим конкретным требованиям и характеристикам данных.

Выполняя эти шаги, вы сможете уверенно заполнить недостающие значения в своем DataFrame, используя среднее значение, и повысить качество анализа данных. Приятного кодирования!