idxmax() returns 索引而不是时间戳

idxmax() returns index instead of timestaped

一个python初学者,

我正在尝试获取特定股票每月的最高价,以及最大值出现的日期。

使用max()

可以每月获得最大值

但是当我尝试使用 idxmax() 获取最高价格的相应日期时,我的代码 returns 使用相应的索引而不是日期。我的代码如下所示:

Max_Date = Daily_High.groupby(pd.Grouper(key="Date", freq="M")).High.idxmax()

输出

Date    High    
0   2020-04-30  9929
1   2020-05-31  9946
2   2020-06-30  9966
3   2020-07-31  9993
4   2020-08-31  10014
5   2020-09-30  10016
6   2020-10-31  10044
7   2020-11-30  10063
8   2020-12-31  10097
9   2021-01-31  10114
10  2021-02-28  10125
11  2021-03-31  10139
12  2021-04-30  10180
13  2021-05-31  10182

输出应该是这样的

Date    High    Max Date
0   2020-04-30  2020-04-30
1   2020-05-31  2020-05-26
2   2020-06-30  2020-06-23
3   2020-07-31  2020-07-31
4   2020-08-31  2020-08-31
5   2020-09-30  2020-09-02
6   2020-10-31  2020-10-13
7   2020-11-30  2020-11-09
8   2020-12-31  2020-12-29
9   2021-01-31  2021-01-25
10  2021-02-28  2021-02-09
11  2021-03-31  2021-03-02
12  2021-04-30  2021-04-29
13  2021-05-31  2021-05-03

希望你能帮我得到正确的日期。谢谢!

创建 DatetimeIndex 并从 pd.Grouper 中删除 key="Date":

Max_Date = Daily_High.set_index('Date').groupby(pd.Grouper( freq="M")).High.idxmax()