我在任何地方都找不到答案。我需要为最后n个行找到一列的最小值,比方说A。
我看到了一些解决方案,可以在其中找到整个列或不同列的最小值,但是找不到为只有某些行的窗口计算列的最小值(或最大值)的方法。
例如
A B C D Amin10 Bmax5
0 13 13 10 4
1 8 0 15 14
2 12 7 7 9
3 22 11 22 2
4 2 2 12 3
5 18 24 20 14
6 6 18 20 22
7 3 8 2 13
8 21 9 11 4
9 2 2 14 21
10 15 0 9 17
11 11 19 22 2
12 18 2 10 13
13 14 20 20 10
14 8 8 22 16
假设我想要的列'Amin10'在最后10行中具有A列的最小值,而'Bmax5'在最后5行中具有B列的最大值。
我怎样才能做到这一点?
谢谢。
用 rolling
df['Amin10'] = df.A.rolling(10).min()
df['Bmax5'] = df.B.rolling(5).max()
print(df)
A B C D Amin10 Bmax5
0 13 13 10 4 NaN NaN
1 8 0 15 14 NaN NaN
2 12 7 7 9 NaN NaN
3 22 11 22 2 NaN NaN
4 2 2 12 3 NaN 13.0
5 18 24 20 14 NaN 24.0
6 6 18 20 22 NaN 24.0
7 3 8 2 13 NaN 24.0
8 21 9 11 4 NaN 24.0
9 2 2 14 21 2.0 24.0
10 15 0 9 17 2.0 18.0
11 11 19 22 2 2.0 19.0
12 18 2 10 13 2.0 19.0
13 14 20 20 10 2.0 20.0
14 8 8 22 16 2.0 20.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句