Como Usar?¶
Existem diversos feriados no Brasil. Os feriados nacionais ocorrem para todos os estados, existem os feriados estaduais, que ocorrem em um único estado, além dos feriados municipais.
Além disso, existe alguns dias que são feriados em uma empresa/instituição e outras não.
Visando resolver isso, o presente pacote visa facilitar a criação de listas (e tabelas) contendo os feriados, partindo do princípio que há uma "cesta" de "feriados disponíveis" e o usuário pode obte-los, além de acrescentar outros feriados customizados.
#!pip3 install brazilian-holidays
from my_paths import data_path
import brazilian_holidays
A maneira mais simples é obter todos os feriados para um determinado ano é instanciando o objeto Holidays.
Uma vez instanciado, a "cesta" de feriados estará vazia.
holidays = brazilian_holidays.Holidays(year=2025)
holidays
Podemos ver os feriados disponíveis no pacote.
holidays.feriados_disponiveis
Adiciona todos os Feriados Disponíveis¶
E podemos adicionar todos os feriados disponíveis! Dessa forma os atributos serão definidos por padrão.
holidays = brazilian_holidays.Holidays(year=2025)
holidays.add_all()
# Create Table
df = holidays.create_table()
# Results
df.info()
df.head(10)
Removendo Feriados¶
É possível remover feriados do objeto. Isso é especialmente util quando adicionamos todos e desejamos excluir alguns.
holidays = brazilian_holidays.Holidays(year=2025)
holidays.add_all()
# Remove
holidays.remove('Domingo de Ramos')
holidays.remove('Endoenças')
holidays.remove('Dia da Consciência Negra')
# Results
holidays
Adicionando alguns feriados¶
É possível instanciar o objeto Holidays e adicionar apenas alguns feriados.
holidays = brazilian_holidays.Holidays(year=2025)
holidays.add(name='Páscoa')
holidays.add(name='Tiradentes')
holidays
Adicionando Feriados Customizados¶
Além dos feriados que estão disponíveis no objeto holidays.feriados_disponiveis, é possível adicionar feriados customizados, com a possbilidade de ajustar todos os atributos para cada um
dos feriados.
Dentre os atributos existentes estão:
name: Nome do Feriado;holiday: Indica se é feriado ou apenas uma data que usualmente "enforca-se", porém não é feriado formalmente ( exemplo: véspera de natal e quarta-feira de cinzas);obs: Campo para observações quaisquer;
holidays = brazilian_holidays.Holidays(year=2025)
holidays.add(name='Páscoa')
holidays.add(name='Tiradentes')
holidays.add_custom(
name='Imaculada Conceição',
month=12,
day=8,
holiday=True,
type='Fixo',
obs='Feriado Municipal de Piracicaba',
)
holidays.add_custom(
name='Revolução Constitucionalista',
month=7,
day=9,
holiday=True,
type='Fixo',
obs='Feriado Estadual',
)
holidays
Resultados¶
Existem três maneiras de obter os resultados:
- Em formato de tabela
Dataframe(do pandas). - Em formato de lista, contendo apenas as datas, no formato
datetime - Em formato de lista, contendo apenas as datas, no formato
date
Esses formatos de lista são especialmente uteis (e a principal motivação do pacote) para uso no Prophet
# Create Table
df = holidays.create_table()
# Results
df.info()
df.head(10)
Salva em arquivo .csv
df.to_csv(
path_or_buf=data_path / 'holidays.csv',
index=False,
)
É possível obter os feriados em formato datetime, ideal para usar em conjunto com o dateutil.
holidays.create_list(tipo='datetime')
É possível obter os feriados em formato date, ideal para uso no prophet.
holidays.create_list(tipo='date')