[英]Ensuring constant window size in pandas rolling window function
需要对数据框中每个大小为 2 的滚动窗口进行一些自定义操作。 但是 pandas 中的rolling
函数返回一个带有初始窗口位置和 1 个元素的输出。 我尝试设置min_periods
,但在这里没有帮助。
df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})
for pairs in df.rolling(2, min_periods=2):
print(pairs)
B
0 0.0
B
0 0.0
1 1.0
B
1 1.0
2 2.0
B
2 2.0
3 NaN
B
3 NaN
4 4.0
索引也不适用于滚动功能。 df.rolling(2)[1:] 出现以下错误
TypeError:不可散列的类型:'slice'
你可以使用numpy的sliding_window_view
np.lib.stride_tricks.sliding_window_view(df.B, 2)
array([[ 0., 1.],
[ 1., 2.],
[ 2., nan],
[nan, 4.]])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.