2016-12-30 403 views
1

我無法在任何地方找到答案。我需要爲列的最後n個行找到最小值,比如說A。如何才能找到Pandas Dataframe中「n」行數據的列的最小值或最大值?

我看到了解決方案,我可以找到整列或不同列的最小值,但找不到一種方法來計算只有特定行的窗口列的最小值(或最大值)。

例如

 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」有B列在最後5行的最大值。

我該如何做到這一點?

謝謝。

+0

您可以用'尾()'或'ILOC []'爲了方法來訪問最後行... – MaxU

回答

2

使用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 
相關問題