我有一个基于股票价格数据的时间序列的数据集。我能够计算出最近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)