我有以下数据帧df
:
USDBRL
date
1994-01-03 331.2200
1994-01-04 336.4900
1994-01-05 341.8300
1994-01-06 347.2350
1994-01-07 352.7300
...
2020-10-05 5.6299
2020-10-06 5.5205
2020-10-07 5.6018
2020-10-08 5.6200
2020-10-09 5.5393
date
是一个datetime index
.我想用每个月的最高日子过滤df
。首先,我创建了一个months
列表:
months = df.index.to_period('M')
接下来,我尝试在datetime index
中使用以下代码仅选择上个月的日期:
df = df.groupby(months).idxmax()
但这并没有给我我想要的。谁能帮忙?
这假设您的数据按日期降序排序。
df.groupby(df.index.month).tail(1)