Python 查找列中最后14个值的平均值,不包括0
我有一个数据框,其中有一列值:Python 查找列中最后14个值的平均值,不包括0,python,pandas,Python,Pandas,我有一个数据框,其中有一列值: col1 0 1 1 3 2 6 3 2 4 4 5 0 6 0 7 3 8 4 9 5 10 7 11 5 12 2 13 5 14 4 15 0 16 0 17 2 18 4 19 5 我想在数据库中创建一个新列,该列为每一行计算列中最后14个值的平均值。然而,这是在最后14个值的总和除以大于0的值的数量的条件下进行的 例如,对于第19行,平均值是最后14个值(包括第19行的值)的总和除以1
col1
0 1
1 3
2 6
3 2
4 4
5 0
6 0
7 3
8 4
9 5
10 7
11 5
12 2
13 5
14 4
15 0
16 0
17 2
18 4
19 5
我想在数据库中创建一个新列,该列为每一行计算列中最后14个值的平均值。然而,这是在最后14个值的总和除以大于0的值的数量的条件下进行的
例如,对于第19行,平均值是最后14个值(包括第19行的值)的总和除以11,因为最后14个值中有3个零
我如何才能做到这一点?您要求的是
滚动().sum()
:
输出:
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
10 NaN
11 NaN
12 NaN
13 3.916667
14 4.166667
15 4.272727
16 4.100000
17 4.100000
18 4.100000
19 4.181818
Name: col1, dtype: float64
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
10 NaN
11 NaN
12 NaN
13 3.916667
14 4.166667
15 4.272727
16 4.100000
17 4.100000
18 4.100000
19 4.181818
Name: col1, dtype: float64