Фильтрация фреймов данных по datetimeindex- последний рабочий день каждого месяца
У меня есть df, с которым можно представить ниже столбец даты и 4 переменных столбца.
Date A B C D
2015-10-31 6 7 3 7
2015-11-01 1 3 9 4
2015-11-02 4 5 8 1
2015-11-03 4 2 5 9
Я пытаюсь отфильтровать df в последний рабочий день каждого месяца, добавив дополнительный столбец с именем EndofMonth и взяв последнюю n-ую строку каждого месяца:
df['EndOfMonth'] = pd.to_datetime(df['DATE'], format="%Y%m") + MonthEnd(1)
df.apply(lambda x: x.sort('dt', ascending=True).tail(1))
Это дает мне ошибку. Есть идеи как лучше это решить?
1 ответ
IIUC
df.resample('M', on='Date').apply(pd.DataFrame.tail, n=2)
ответ на комментарий
d1 = df.resample('M').apply(pd.DataFrame.tail, n=2)
d1.index = d1.index.droplevel(0)
d1