gpt4 book ai didi

python - 在 pandas 中添加一列,即回溯 x 行的最大值

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:38 24 4
gpt4 key购买 nike

我的原始数据框是这样的:

   Date  Price
0 0 100
1 1 10
2 2 30
3 3 20
4 4 50

价格是 float 的。

我需要能够添加一个“最近 x 天的最大值”的列,包括今天 到原始数据框。

结果应该是x=3

  Date   Price   Max_3Days
0 100 N/A
1 10 N/A
2 30 100
3 20 30
4 50 50

最佳答案

假设这是您的输入,

df

Date Price
0 0 100
1 1 10
2 2 30
3 3 20
4 4 50

您可以通过滚动最大值来完成此操作。

df.Price.rolling(3).max()

0 NaN
1 NaN
2 100.0
3 30.0
4 50.0
Name: Price, dtype: float64

或者,如果您真的想要 N/A 而不是 NaN,从而通过混合字符串和对象来破坏性能,请链接一个 fillna 调用之后。

df.Price.rolling(3).max().fillna('N/A')

0 N/A
1 N/A
2 100
3 30
4 50
Name: Price, dtype: object

注意!我不经常提及旧版本的 API,但对于 0.17 及以下版本,有 pd.rolling_max -

pd.rolling_max(df.Price, window=3)

0 NaN
1 NaN
2 100.0
3 30.0
4 50.0
Name: Price, dtype: float64

在最新版本中已弃用,请改用 pd.Series.Rolling.max

关于python - 在 pandas 中添加一列,即回溯 x 行的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48217019/

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