如何获取最大值的原始日期


Open        High         Low       Close   Adj Close  
Date
1980-12-01    0.000000    7.125000    6.916667    6.937500    6.937500
1980-12-02    0.000000    6.937500    6.375000    6.687500    6.687500
1980-12-03    0.000000    6.750000    6.479167    6.541667    6.541667
1980-12-04    0.000000    6.854167    6.458333    6.666667    6.666667
1980-12-05    0.000000    6.562500    6.166667    6.250000    6.250000
...                ...         ...         ...         ...         ...
2022-08-01   95.589996   98.389999   93.959999   96.779999   96.779999
2022-08-02   95.709999  100.919998   95.360001   99.290001   99.290001
2022-08-03   94.830002   98.769997   93.620003   98.089996   98.089996
2022-08-04   97.500000  104.589996   97.260002  103.910004  103.910004
2022-08-05  101.050003  103.860001  100.980003  102.309998  102.309998

我有上面的数据帧。我正在扫描每月最大的"关闭"次数。

df.groupby(pd.Grouper(freq = 'M'))["High"].max()

月底给我下面的结果。当最大值为"0"时,我如何包括原始日期;高";发生了什么?

Date
2000-05-31    49.2500
2000-06-30    60.0000
2000-07-31    82.0000
2000-08-31    68.2500
2000-09-30    70.0000
2000-10-31    80.6250
2000-11-30    73.8750
2000-12-31    61.0000
2001-01-31    60.9375
2001-02-28    53.4375

当您有日期时间索引时使用resamplepd.Grouper:有好处

df.resample('M')['High'].agg(['max', 'idxmax'])

最新更新