[英]How to perform a sliding window operation on a pandas dataframe?
这与我之前的问题相同,但这次窗口可以重叠。
我想控制窗口大小,[以及边缘发生的事情(尽管现在“相同”填充可以)]。
输入:
a
0
5
2
1
8
2
5
window_size=3
, op=np.max
结果:
a res
0 5
5 5
2 5
1 8
8 8
2 8
5 5
我还想传递通用函数,以减少列数和减少行数,如链接的问题所示。
奖金:
如果我不需要计算所有值,我可以做一个 stride > 1 的跨步运行窗口,并在其余部分填充 nans 。 这样做可以节省计算吗?
你想要这样的东西
df['res'] = df['a'].rolling(3, min_periods=0, center=True).max()
对于泛型函数,你应该用.aggregate(fn)
替换.max()
.aggregate(fn)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.