Среднее в Pandas: Как рассчитать среднее для одной или нескольких колонок

В этом посте вы узнаете, как вычислить среднее значение (average) в Pandas для одного столбца, нескольких столбцов или всего датафрейма. Вы также узнаете, как пропустить значения na или включить их в свой расчет.

Оглавление

Загрузка образца фрейма данных

Если вы хотите использовать пример dataframe для практики, загрузите приведенный ниже образец dataframe. Данные представляют собой зарплаты людей за период в четыре года:

import pandas as pd
df = pd.DataFrame.from_dict(
    {
        'Year': [2018, 2019, 2020, 2021],
        'Carl': [1000, 2300, 1900, 3400],
        'Jane': [1500, 1700, 1300, 800],
        'Melissa': [800, 2300, None, 2300]
    }
).set_index('Year')

print(df)

Это возвращает следующий фрейм данных:

Pandas среднее значение в одном столбце

Вычислить среднее значение для одного столбца очень просто. Мы можем просто вызвать метод .mean() для отдельного столбца, и он вернет среднее значение этого столбца.

Например, давайте вычислим среднюю зарплату Карла за все годы:

Мы можем видеть, что средняя зарплата Карла за четыре года составила 2150.

Среднее значение Pandas для строки

Теперь предположим, что вы хотите вычислить среднее значение для строки dataframe. Мы можем сделать это, просто изменив параметр axis=.

Допустим, мы хотим получить среднюю зарплату всех людей за 2018 год. Мы можем получить данные за 2018 год с помощью метода .loc (о котором вы можете узнать больше в моем руководстве по ссылке).

Теперь, в качестве альтернативы, вы можете вычислить среднее значение для каждой строки. Вы можете сделать это, не указывая выбор строки и изменив параметр axis=.

Попробуем это на практике:

Это возвращает следующую серию:

Если вы хотите вычислить среднее значение нескольких столбцов, вы можете просто применить метод .mean() к выбранным столбцам.

Среднее значение Pandas по нескольким столбцам

В приведенном ниже примере мы возвращаем средние зарплаты Карла и Джейн. Обратите внимание, что для правильного выбора данных необходимо использовать двойные квадратные скобки:

Это возвращает следующий результат:

Среднее значение Pandas для всего DataFrame

Наконец, если вы хотите получить среднее значение для каждого столбца в dataframe Pandas, вы можете просто применить метод .mean() ко всему dataframe.

Попробуем это сделать, написав следующий код:

Теперь вы можете вычислить среднее значение для всего dataframe.

Включить NAs в расчет среднего значения Pandas

Одно важное замечание: по умолчанию пропущенные значения исключаются из расчёта среднего. Таким образом, пропущенное значение обрабатывается как отсутствующее, а не как ноль.

Если вы хотите вычислить среднее значение с учётом пропущенных данных, вы можете сначала присвоить им значения с помощью метода Pandas .fillna(). Ознакомьтесь с моим руководством по этой ссылке, чтобы узнать больше:

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

Используйте Pandas Describe для вычисления средних значений

Наконец, давайте воспользуемся методом Pandas .describe(), чтобы вычислить среднее значение (а также некоторые другие полезные статистики). Чтобы узнать больше о методе Pandas .describe(), ознакомьтесь с моим руководством по этой ссылке.

Давайте посмотрим, как мы можем получить среднее значение и другие полезные статистики:

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

Заключение

В этой статье вы узнали, как вычислить среднее значение в Pandas с помощью метода .mean(). Вы научились вычислять среднее по столбцу, по строке, по нескольким столбцам и по всему dataframe. Кроме того, вы узнали, как рассчитать среднее значение с учетом пропущенных значений.

Чтобы узнать больше о методе .mean() в Pandas, ознакомьтесь с официальной документацией по этой ссылке.

Последнее обновление