如何为Dataframe中的“n”行数找到列的最小值或最大值?

2024-06-08 12:24:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我到处都找不到答案。我需要找到最后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的最大值。你知道吗

我怎样才能做到这一点?你知道吗

谢谢。你知道吗


Tags: 方法答案解决方案bmax5amin10
1条回答
网友
1楼 · 发布于 2024-06-08 12:24:39

使用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

相关问题 更多 >