С помощью приведенного ниже кода я могу создать фрейм данных со всеми рабочими днями между двумя датами, но я не знаю, как отфильтровать его, чтобы включить в фрейм данных только первый рабочий день каждого месяца.
/>
class Feriados_SP(AbstractHolidayCalendar):
rules = [
Holiday('Confraternização Universal', month=1, day=1),
Holiday('Aniversário de São Paulo', month=1, day=25),
Holiday('Segunda-Feira de Carnaval', month=1, day=1, offset=[Easter(), Day(-48)]),
Holiday('Terça-Feira de Carnaval', month=1, day=1, offset=[Easter(), Day(-47)]),
Holiday('Quarta-Feira de Cinzas', month=1, day=1, offset=[Easter(), Day(-46)]),
# Sexta-feira Santa
GoodFriday,
Holiday('Corpus Christi', month=1, day=1, offset=[Easter(), Day(60)]),
Holiday('Tiradentes', month = 4, day = 21),
Holiday('Dia do Trabalho', month = 5, day = 1),
Holiday('Revolução Constitucionalista', month=7, day=9, start_date='1997-01-01'),
Holiday('Independência do Brasil', month = 9, day = 7),
Holiday('Nossa Senhora Aparecida', month = 10, day = 12),
Holiday('Finados', month = 11, day = 2),
Holiday('Proclamação da República', month = 11, day = 15),
Holiday('Dia da Consciencia Negra', month=11, day=20, start_date='2004-01-01'),
Holiday('Vespera de Natal', month=12, day=24),
Holiday('Natal', month = 12, day = 25)]
sp_cal = Feriados_SP()
feriados_sp = sp_cal.holidays(datetime(2000, 12, 31), datetime(2079, 12, 31))
start = datetime(2024, 3, 1)
end = datetime(2025, 5, 5)
datas = pd.bdate_range(start, end, freq='C', holidays=feriados_sp)
print(datas)
Я хочу увидеть код, который генерирует фрейм данных только с первым рабочим днем каждого месяца между двумя заданными датами.
Я попробовал использовать функцию is_month_start, добавив это в коде:
primeiros_dias_uteis = datas[datas.is_month_start]
df = pd.DataFrame({'Datas': primeiros_dias_uteis})
print(df)
но выдает следующую ошибку:
ValueError: Custom business days is not supported by is_month_start.
Подробнее здесь: https://stackoverflow.com/questions/787 ... of-each-mo