Если у меня есть DataFrame, проиндексированный по дате, как я могу выбрать строки, соответствующие первому дню каждого месяца, или проверить, находится ли данная строка в первый день месяца?
Выбрать все строки с первым днем путем сравнения DatetimeIndex.day в boolean indexing:
DatetimeIndex.day
boolean indexing
df[df.index.day == 1]
Вот другой способ, используйте атрибут is_month_start с логической индексацией:
is_month_start
df[df.index.is_month_start]
Технически, это должен быть самый быстрый способ, так как это уже атрибут DateTimeIndex.