如何在熊猫数æ®æ¡†ä¸Šæ‰§è¡Œæ»‘动窗å£æ“作?

时间:2020-10-29 16:30:14

标签: python pandas

这与my previous question相åŒï¼Œä½†æ˜¯è¿™æ¬¡çª—å£å¯ä»¥é‡å ã€‚

我想控制窗å£å¤§å°ï¼Œ[以åŠè¾¹ç¼˜ä¼šå‘生什么(尽管现在“相åŒâ€çš„填充将起作用)]。

输入:

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

我还希望传递通用函数,以å‡å°‘列数和å‡å°‘行数,如链接的问题所示。


奖金:

如果我ä¸éœ€è¦è®¡ç®—所有值,我å¯ä»¥åšä¸€ä¸ªæ­¥å¹…> 1的步幅è¿è¡Œçª—å£ï¼Œå¹¶åœ¨å…¶ä½™éƒ¨åˆ†å¡«å†™nans。å¯ä»¥è¿™æ ·åšæ¥ä¿å­˜è®¡ç®—å—?

1 个答案:

答案 0 :(得分:5)

您想è¦è¿™æ ·çš„东西

df['res'] = df['a'].rolling(3, min_periods=0, center=True).max()

对于通用函数,应将.max()替æ¢ä¸º.aggregate(fn)