This commit is contained in:
2025-01-23 19:53:48 -03:00
parent c544337e9c
commit 07ab395c2f
562 changed files with 152672 additions and 271017 deletions

108
classificacao_veranicos.py Normal file
View 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