Я добавлю это, чтобы расширить ответ @Christian Sloper. Мне легче ссылаться, если ответ самодостаточен, и я думаю, что он поможет другим.
Я создал новый столбец с именем MonthEnd и использовал фильтр, чтобы получить только те из них, которые не заканчиваются в конце месяца.
import datetime
import pandas as pd
df = pd.DataFrame({'PORTFOLIO': ['A', 'A', 'A', 'A','A', 'A', 'A', 'A','A', 'A','A', 'A', 'A', 'A'],
'DATE': ['28-02-2018','31-03-2018','30-04-2018','31-05-2018','30-06-2018','31-07-2018','31-08-2018',
'30-09-2018','31-10-2018','30-11-2018','31-12-2018','31-01-2019','28-02-2019','05-03-2019'],
'IRR': [.7, .8, .9, .4, .2, .3, .4, .9, .7, .8, .9, .4,.7, .8],
})
#new column called MonthEnd
df['MonthEnd'] = pd.to_datetime(df['DATE']).dt.is_month_end
#filter to get only those that are not month end
df[~df["MonthEnd"]]
dataframe:
DATE IRR PORTFOLIO MonthEnd
0 28-02-2018 0.7 A True
1 31-03-2018 0.8 A True
2 30-04-2018 0.9 A True
3 31-05-2018 0.4 A True
4 30-06-2018 0.2 A True
5 31-07-2018 0.3 A True
6 31-08-2018 0.4 A True
7 30-09-2018 0.9 A True
8 31-10-2018 0.7 A True
9 30-11-2018 0.8 A True
10 31-12-2018 0.9 A True
11 31-01-2019 0.4 A True
12 28-02-2019 0.7 A True
13 05-03-2019 0.8 A False
После фильтра:
DATE IRR PORTFOLIO MonthEnd
13 05-03-2019 0.8 A False