janeiro
This commit is contained in:
108
classificacao_veranicos.py
Normal file
108
classificacao_veranicos.py
Normal file
@@ -0,0 +1,108 @@
|
||||
import os
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
from time import sleep
|
||||
from datetime import datetime
|
||||
import csv
|
||||
|
||||
|
||||
def listar_csvs(diretorio):
|
||||
arquivos_csv = [nome for nome in os.listdir(diretorio) if nome.endswith('.csv') and os.path.isfile(os.path.join(diretorio, nome))]
|
||||
return arquivos_csv
|
||||
|
||||
|
||||
def processar_Classificao_Veranicos():
|
||||
print("processar classificacao veranicos..")
|
||||
diretorio = 'classificacao_veranicos' # nome da pasta principal
|
||||
files = listar_csvs(diretorio)
|
||||
|
||||
decendio = carregar_decendios('decendio.csv')
|
||||
|
||||
for file in files:
|
||||
print(f"Encontrada pasta: {file}")
|
||||
qtd_veranicos,cod_estacao = carregar_estacao_com_veranico(file)
|
||||
print(cod_estacao)
|
||||
rodar_decendio(decendio,qtd_veranicos, cod_estacao)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def rodar_decendio(decendios,qtd_veranicos, estacoes):
|
||||
print("Decendio...")
|
||||
resultados = []
|
||||
amplitude=0
|
||||
|
||||
estacoes= [2244035]
|
||||
#decendios = decendios.head(24)
|
||||
|
||||
|
||||
for estacao in estacoes: # percorre todas as estações array de estacoes
|
||||
|
||||
|
||||
#estacao_fitrada = qtd_veranicos['CODIGO'] == estacao
|
||||
estacao_fitrada = qtd_veranicos[qtd_veranicos['CODIGO'] == estacao]
|
||||
estacao_fitrada = estacao_fitrada.head(10)
|
||||
|
||||
for index, selecao_estacao in estacao_fitrada.iterrows(): # Itera pelas linhas do DataFrame
|
||||
print(index," ------------------------------------------")
|
||||
|
||||
data_inicio = pd.to_datetime(selecao_estacao['INICIO'])
|
||||
data_fim = pd.to_datetime(selecao_estacao['FINAL'])
|
||||
|
||||
|
||||
|
||||
filtro = decendios[(decendios['INICIO'] <= data_fim) & (decendios['FINAL'] >= data_inicio)]
|
||||
|
||||
dia =selecao_estacao['QTDDIAS']
|
||||
# Adicionar colunas FINICIO e FFINAL
|
||||
filtro = filtro.copy() # Para evitar avisos do Pandas
|
||||
filtro['FINICIO'] = data_inicio
|
||||
filtro['FFINAL'] = data_fim
|
||||
|
||||
for index, selecao_filtro in filtro.iterrows():
|
||||
des = selecao_filtro['DECENDIO']
|
||||
|
||||
|
||||
print(filtro)
|
||||
print(des)
|
||||
|
||||
resultado = {
|
||||
'estacao': estacao,
|
||||
'descendio':selecao_filtro['DECENDIO'],
|
||||
|
||||
'amplitude': 0
|
||||
|
||||
}
|
||||
resultados.append(resultado)
|
||||
|
||||
|
||||
|
||||
save = pd.DataFrame(resultados)
|
||||
os.remove('saida.csv')
|
||||
save.to_csv('saida.csv', sep=';', encoding='utf-8', index=False)
|
||||
|
||||
|
||||
|
||||
|
||||
def carregar_decendios(file):
|
||||
print("Abrindo arquivo decendio.")
|
||||
dados_df = pd.read_csv(file, sep=';', decimal=',', parse_dates=['INICIO', 'FINAL'], dayfirst=True)
|
||||
|
||||
|
||||
start_date = '1980-01-01'
|
||||
end_date = '2022-12-31'
|
||||
filtered_df = dados_df[(dados_df['INICIO'] >= start_date) & (dados_df['FINAL'] <= end_date)]
|
||||
dados_df=filtered_df
|
||||
#dados_df.to_csv('-valores de origem .csv', sep=";", encoding='utf-8', decimal=',', index=False)
|
||||
return dados_df
|
||||
|
||||
|
||||
def carregar_estacao_com_veranico(file):
|
||||
print("Abrindo estacao com veranico")
|
||||
dados_df = pd.read_csv('./classificacao_veranicos/'+file, sep=';', decimal=',', parse_dates=['INICIO', 'FINAL'])
|
||||
|
||||
codigos_unicos = dados_df['CODIGO'].unique() # Retorna uma lista de valores únicos
|
||||
|
||||
return dados_df, codigos_unicos
|
||||
Reference in New Issue
Block a user