Как рассчитать совокупное среднее значение в Python


Кумулятивное среднее сообщает нам среднее значение ряда значений до определенной точки.

Вы можете использовать следующий синтаксис для вычисления совокупного среднего значения в столбце кадра данных pandas:

df['column_name']. expanding().mean ()

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: вычислить кумулятивное среднее значение в Python

Предположим, у нас есть следующий кадр данных pandas, который показывает общий объем продаж в каком-либо магазине в течение 16 дней подряд:

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame({'day': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
 'sales': [3, 6, 0, 2, 4, 1, 0, 1, 4, 7, 3, 3, 8, 3, 5, 5]})

#view first five rows of DataFrame
df.head ()

 day sales
0 1 3
1 2 6
2 3 0
3 4 2
4 5 4

Мы можем использовать следующий синтаксис для вычисления совокупного среднего значения столбца продаж:

#calculate average of 'sales' column
df['sales']. expanding().mean ()

0 3.000000
1 4.500000
2 3.000000
3 2.750000
4 3.000000
5 2.666667
6 2.285714
7 2.125000
8 2.333333
9 2.800000
10 2.818182
11 2.833333
12 3.230769
13 3.214286
14 3.333333
15 3.437500
Name: sales, dtype: float64

Мы бы интерпретировали кумулятивные средние значения как:

  • Совокупное среднее значение первой продажи равно 3 .
  • Совокупное среднее значение первых двух продаж равно 4,5 .
  • Совокупное среднее значение первых трех продаж равно 3 .
  • Совокупное среднее значение первых четырех продаж равно 2,75 .

И так далее.

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

#add cumulative average sales as new column
df['cum_avg_sales'] = df['sales']. expanding().mean ()

#view updated DataFrame
df

 day sales cum_avg_sales
0 1 3 3.000000
1 2 6 4.500000
2 3 0 3.000000
3 4 2 2.750000
4 5 4 3.000000
5 6 1 2.666667
6 7 0 2.285714
7 8 1 2.125000
8 9 4 2.333333
9 10 7 2.800000
10 11 3 2.818182
11 12 3 2.833333
12 13 8 3.230769
13 14 3 3.214286
14 15 5 3.333333
15 16 5 3.437500

Столбец cum_avg_sales показывает совокупное среднее значений в столбце «продажи».

Дополнительные ресурсы

В следующих руководствах объясняется, как рассчитать другие распространенные метрики в Python:

Как вычислить усеченное среднее в Python
Как рассчитать среднее геометрическое в Python
Как рассчитать скользящие средние в Python

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.