如何用 python 计算累积平均值


累积平均值告诉我们截至某一点的一系列值的平均值。

您可以使用以下语法来计算 pandas DataFrame 的列中值的累积平均值:

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

以下示例展示了如何在实践中使用此语法。

示例:用 Python 计算累积平均值

假设我们有以下 pandas DataFrame,显示商店连续 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

我们可以使用以下语法来计算销售额列的运行平均值:

 #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列显示“sales”列中值的累积平均值。

其他资源

以下教程解释了如何在 Python 中计算其他常见指标:

如何在 Python 中计算截尾平均值
如何用 Python 计算几何平均值
如何用 Python 计算移动平均线

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注