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
当您有日期时间索引时使用resample
比pd.Grouper
:有好处
df.resample('M')['High'].agg(['max', 'idxmax'])