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