基于其他列的搜索结果创建新的数据帧列



我有一个数据帧,如下所示,包含日期时间和价格。我想创建一个新的专栏";最低价格";它检查过去5分钟的最低价格并返回价格值。有办法做到吗?

输入:

DateTime            Price
23/11/2021 23:59    57540.60
23/11/2021 23:58    57560.96
23/11/2021 23:57    57581.44
23/11/2021 23:56    57617.08
23/11/2021 23:55    57710.88
23/11/2021 23:54    57654.52
23/11/2021 23:53    57635.68
23/11/2021 23:52    57644.85
23/11/2021 23:51    57626.73

预期输出:

DateTime            Price         Lowest Price (Past 5 min)
23/11/2021 23:59    57640.60      57560.96
23/11/2021 23:58    57560.96      57560.96
23/11/2021 23:57    57581.44      57581.44
23/11/2021 23:56    57617.08      57554.52
23/11/2021 23:55    57710.88      .
23/11/2021 23:54    57554.52      .
23/11/2021 23:53    57635.68      .
23/11/2021 23:52    57644.85
23/11/2021 23:51    57626.73

试试这个:

df.set_index('DateTime').rolling(5).min().shift(-4).reset_index().add_suffix(' min')

如果要查看5行以上,请相应地调整滚动。rolling(n)shift(n-1)

我使用下面的代码来解决这个问题。

price_df_min=price_df.set_index('DateTime').rolling(5).min().shift(-4).reset_index().add_suffix(' min')

最新更新