Pandas Window 函数
Pandas Window Function
我需要一个 returns pandas 的特定 window 的平均值的函数。假设我们的数据在第 n 行。我的 window 需要求和 ( n-2, n-1, n, n+1, n+2) 并求平均值。 Pandas 具有滚动功能,但我认为它只能在一个方向上滚动,而不是同时在两个方向上滚动。
此解决方案使用居中 window。
实现了 Neither 所描述的内容
>>> import numpy as np
>>> import pandas as pd
>>> series = pd.Series(np.arange(100))
>>> series
0 0
1 1
2 2
3 3
4 4
..
95 95
96 96
97 97
98 98
99 99
Length: 100, dtype: int32
>>> series.rolling(5, center=True).mean()
0 NaN
1 NaN
2 2.0
3 3.0
4 4.0
...
95 95.0
96 96.0
97 97.0
98 NaN
99 NaN
Length: 100, dtype: float64
请注意,对于居中的 windows 个 n
元素,其中 n
是奇数,第一个和最后一个 n // 2
元素将是 NaN
,因为它们不是任何 window.
的中心
我需要一个 returns pandas 的特定 window 的平均值的函数。假设我们的数据在第 n 行。我的 window 需要求和 ( n-2, n-1, n, n+1, n+2) 并求平均值。 Pandas 具有滚动功能,但我认为它只能在一个方向上滚动,而不是同时在两个方向上滚动。
此解决方案使用居中 window。
实现了 Neither 所描述的内容>>> import numpy as np
>>> import pandas as pd
>>> series = pd.Series(np.arange(100))
>>> series
0 0
1 1
2 2
3 3
4 4
..
95 95
96 96
97 97
98 98
99 99
Length: 100, dtype: int32
>>> series.rolling(5, center=True).mean()
0 NaN
1 NaN
2 2.0
3 3.0
4 4.0
...
95 95.0
96 96.0
97 97.0
98 NaN
99 NaN
Length: 100, dtype: float64
请注意,对于居中的 windows 个 n
元素,其中 n
是奇数,第一个和最后一个 n // 2
元素将是 NaN
,因为它们不是任何 window.