Python で累積平均を計算する方法


累積平均は、ある時点までの一連の値の平均を示します。

次の構文を使用して、pandas DataFrame の列の値の累積平均を計算できます。

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

次の例は、この構文を実際に使用する方法を示しています。

例: Python で累積平均を計算する

連続 16 日間の店舗の総売上高を示す次のパンダ データフレームがあるとします。

 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

次の構文を使用して、sales 列の移動平均を計算できます。

 #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です。
  • 最初の 2 つの売上値の累積平均は4.5です。
  • 最初の 3 つの売上値の累積平均は3です。
  • 最初の 4 つの売上値の累積平均は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列には、「sales」列の値の累積平均が表示されます。

追加リソース

次のチュートリアルでは、Python で他の一般的なメトリクスを計算する方法を説明します。

Python でトリミング平均を計算する方法
Python で幾何平均を計算する方法
Python で移動平均を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です