import csv import holidays import matplotlib.pyplot as plt #Inicializar datas hoje = date.today() date2 = hoje.strftime("%d/%m/%Y") #formato da data na URL date3 = hoje - timedelta(days=4) date4 = date3.strftime("%d/%m/%Y") date9 = date(2017, 2, 1) #cópia date10 = date9.strftime("%d/%m/%Y") #Inicializar listas row_list = list() di = [] feriados = holidays.Brazil() d30 = None d60 = None d90 = None d180 = None d360 = None d1800 = None d3600 = None d10800 = None #Inicializar browser driver = webdriver.Chrome() driver.get( "http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/TxRef1.asp") #Loop
import matplotlib as plt import plotly.graph_objects as go import streamlit as st import numpy as np import pandas as pd from plotly.subplots import make_subplots from statsmodels.tsa.seasonal import seasonal_decompose import holidays br_holidays = holidays.Brazil() class VizSerie: def __init__(self, df): self.df = df def simplePlotSeries(self): df = self.df.copy() df['date'] = df.index.date df['feriado'] = df['date'].apply(lambda x: x in br_holidays) df['DiaDaSemana'] = df.index.dayofweek df['fimDeSemana'] = df['DiaDaSemana'].apply(lambda x: x == 5 or x == 6) dfDiaSemana = df[(df['fimDeSemana'] == 0) & (df['feriado'] == 0)] trace1 = go.Scatter(x=dfDiaSemana.index, y=dfDiaSemana['y'],
#!/usr/bin/python3 import calendar import holidays import sys from datetime import date, timedelta diasdasemana = ["Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"] def days(start, end, step=timedelta(days=1)): curr = start while curr <= end: yield curr curr += step if __name__ == "__main__": dias = list(days(date(2020, 1, 1), date(2020, 12, 31))) for a in dias: if str(a) in holidays.Brazil(): print(str(a) + " | " + diasdasemana[a.weekday()] + " | Feriado |") elif a.weekday() in range(2,7): print(str(a) + " | " + diasdasemana[a.weekday()] + " | ")
import locale from datetime import datetime import holidays import numpy as np import pandas as pd from sqlalchemy import create_engine # Inserir o caminho dos dados aqui. O python faz o resto data_home = '/home/elson/projeto_etl/data' # definindo a linguagem para PT_BR locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8') # criando uma lista com os feriados no Brasil no período: feriados_bra = holidays.Brazil() feriados = [] for feriado in feriados_bra['2002-12-31':'2003-12-31']: feriados.append(feriado) # Criando dataframe vazio para rececber os dados de tempo df = pd.DataFrame() # utilizando o método pandas.date_range para gerar um iterável de datas e # O END É EXCLUSIVO, OU SEJA, SE FOR INFORMADA A ÚLTIMA DATA PRESENTE NO # DATASET, PERDEM-SE REGISTROS df['data'] = pd.date_range(start='31/12/2002', end='31/12/2003') """redefinindo a coluna para ser o nome de data criando as demais colunas """ df['mes_nome'] = df['data'].dt.month_name(locale="pt_BR.UTF-8") df['mes_abreviado'] = df['data'].dt.month_name(locale="pt_BR.UTF-8")
def __init__(self): self.lista_anos = ['2014', '2015', '2016', '2017', '2018', '2019'] feriados = holidays.Brazil() self.lista_feriados = feriados['2020-01-01':'2020-12-31']
# ### Definindo os feriados # In[90]: #Zerando os ids df5 = df5.reset_index() tam = df5.shape[0] df5['id'] = range(tam) df5 = df5.drop(columns=['index']) df5.head() # In[91]: #Conferindo a existência de feriados na data_inversa df5['data_inversa'][0] in holidays.Brazil() # In[92]: #Criando nova coluna zerada de feriados df5['Feriado'] = 0 df5['Feriado'].value_counts() # In[93]: #Lista de feriados no Brasil feriado = holidays.Brazil() #Lista com o tamanho do dataframe tam_list = list(range(df5.shape[0]))