Como calcular uma média cumulativa em python


Uma média cumulativa nos diz a média de uma série de valores até um determinado ponto.

Você pode usar a seguinte sintaxe para calcular a média cumulativa de valores em uma coluna de um DataFrame do pandas:

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

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: calcular média cumulativa em Python

Digamos que temos o seguinte DataFrame do pandas que mostra o total de vendas realizadas por uma loja durante 16 dias consecutivos:

 import pandas as pd
import numpy as np

#createDataFrame
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

Podemos usar a seguinte sintaxe para calcular a média móvel da coluna de vendas:

 #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

Interpretaríamos os valores médios cumulativos como:

  • A média acumulada do valor das primeiras vendas é 3 .
  • A média acumulada dos dois primeiros valores de vendas é de 4,5 .
  • A média acumulada dos três primeiros valores de vendas é 3 .
  • A média acumulada dos quatro primeiros valores de vendas é de 2,75 .

E assim por diante.

Observe que você também pode usar o código a seguir para adicionar os valores médios acumulados de vendas como uma nova coluna no 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

A coluna cum_avg_sales exibe a média acumulada dos valores da coluna “vendas”.

Recursos adicionais

Os tutoriais a seguir explicam como calcular outras métricas comuns em Python:

Como calcular uma média aparada em Python
Como calcular a média geométrica em Python
Como calcular médias móveis em Python

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *