gpt4 book ai didi

python - Pandas Dataframe 找到接下来几行中的最大值

转载 作者:行者123 更新时间:2023-12-01 00:18:33 25 4
gpt4 key购买 nike

我有一个价格列和一个最大值列:

PRICE          MAX

1.095806 <- 1.095806
1.046494 <- 1.046494
1.019099 <- 1.019099
1.002662 1.035535
1.019099 1.035535
1.008142 1.035535
1.035535 <- 1.035535
1.019099 <- 1.019099
0.986225 <- 0.986225
0.964309 0.975267
0.953351 0.980745
0.964309 1.030057
0.964309 0.964309
0.975267 <- 1.068410
0.980745 <- 1.117722
1.030057 <- 1.145117
1.068410 <-
1.117722 <-
1.145117 <-
1.139638

我希望 MAX 找到接下来 5 行的最高 PRICE 值。

我尝试了 df['MAX'] = df['PRICE'].rolling(5).max() 但它不正确。

我相信我需要使用shift(-5)。如有任何帮助,我们将不胜感激,谢谢!

最佳答案

将滚动与4结合使用,将shift-3结合使用:

df['MAX'] = df['PRICE'].rolling(4).max().shift(-3)
print (df)
PRICE MAX
0 1.095806 1.095806
1 1.046494 1.046494
2 1.019099 1.019099
3 1.002662 1.035535
4 1.019099 1.035535
5 1.008142 1.035535
6 1.035535 1.035535
7 1.019099 1.019099
8 0.986225 0.986225
9 0.964309 0.964309
10 0.953351 0.975267
11 0.964309 0.980745
12 0.964309 1.030057
13 0.975267 1.068410
14 0.980745 1.117722
15 1.030057 1.145117
16 1.068410 1.145117
17 1.117722 NaN
18 1.145117 NaN
19 1.139638 NaN

或者使用5滚动并使用-4滚动shift:

df['MAX'] = df['PRICE'].rolling(5).max().shift(-4)
print (df)
PRICE MAX
0 1.095806 1.095806
1 1.046494 1.046494
2 1.019099 1.035535
3 1.002662 1.035535
4 1.019099 1.035535
5 1.008142 1.035535
6 1.035535 1.035535
7 1.019099 1.019099
8 0.986225 0.986225
9 0.964309 0.975267
10 0.953351 0.980745
11 0.964309 1.030057
12 0.964309 1.068410
13 0.975267 1.117722
14 0.980745 1.145117
15 1.030057 1.145117
16 1.068410 NaN
17 1.117722 NaN
18 1.145117 NaN
19 1.139638 NaN

关于python - Pandas Dataframe 找到接下来几行中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59123095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com