熊猫和时间序列:获取最大滚动窗口的最后日期



我有一个基于股票价格数据的时间序列的数据集。我能够计算出最近x天内的最高价格(例如:60天)。当这个最高价多次出现时,我想知道这个最高价出现的最晚日期。

因此,为了计算最高价格,我已经有了以下代码:
df_shift['High'].shift(1).rolling(60).max()

我该如何获取这个价格发生的日期值。如果有多行,则获取最新日期。

我的数据框架由以下列组成:

日期,开放的,高,低,接近,卷

谢谢!

尝试:

df['last_max'] = df['High'].rolling(60).apply(lambda x: x[::-1].idxmax()).shift(1)
df['last_max_date'] = df['last_max'].apply(lambda x: df['date'].loc[x] if not pd.isnull(x) else x)
df.drop(columns=['last_max'], axis=1, inplace=True)

最新更新