繁体   English   中英

如何对熊猫数据框执行滑动窗口操作?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM