我无法在任何地方找到答案。我需要找到一列的最小值,比如说A,最后n行。
我看到了一些解决方案,我可以找到整列的最小值或不同的列,但是找不到计算某些窗口的列的最小值(或最大值)的方法。
e.g。
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列的最大值。
我怎样才能做到这一点?
感谢。
答案 0 :(得分:3)
使用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