salvando
This commit is contained in:
63
carregar.py
63
carregar.py
@@ -76,7 +76,7 @@ def carregar_arquivoxls_mais_proxima():
|
|||||||
processar_arquivos_xls(diretorio, output_csv)
|
processar_arquivos_xls(diretorio, output_csv)
|
||||||
print(output_csv)
|
print(output_csv)
|
||||||
sleep(3)
|
sleep(3)
|
||||||
processar_arquivos_xls2(output_csv)
|
processar_arquivos_xls10(output_csv)
|
||||||
|
|
||||||
# Função para calcular a distância euclidiana
|
# Função para calcular a distância euclidiana
|
||||||
def calcular_distancia(lat1, lon1, lat2, lon2):
|
def calcular_distancia(lat1, lon1, lat2, lon2):
|
||||||
@@ -104,33 +104,22 @@ def processar_arquivos_xls(arquivo, output_csv):
|
|||||||
df.to_csv(output_csv, sep=";", encoding='utf-8', decimal='.', index=False)
|
df.to_csv(output_csv, sep=";", encoding='utf-8', decimal='.', index=False)
|
||||||
|
|
||||||
|
|
||||||
def processar_arquivos_xls2(output_csv):
|
def processar_arquivos_xls10(output_csv):
|
||||||
df = pd.read_csv(output_csv, encoding='utf-8', sep=';', decimal='.')
|
df = pd.read_csv(output_csv, encoding='utf-8', sep=';', decimal='.')
|
||||||
df['1p'] = ''
|
# Criar dinamicamente as colunas de nomes e códigos
|
||||||
df['2p'] = ''
|
# Verificar quantas estações únicas existem
|
||||||
df['3p'] = ''
|
codigos_unicos = df['CODIGO'].dropna().unique()
|
||||||
df['4p'] = ''
|
qtd_estacoes = len(codigos_unicos)
|
||||||
df['5p'] = ''
|
|
||||||
df['6p'] = ''
|
|
||||||
df['7p'] = ''
|
|
||||||
# df['8p'] = ''
|
|
||||||
#df['9p'] = ''
|
|
||||||
#df['10p'] = ''
|
|
||||||
|
|
||||||
df['1c'] = ''
|
|
||||||
df['2c'] = ''
|
|
||||||
df['3c'] = ''
|
|
||||||
df['4c'] = ''
|
|
||||||
df['5c'] = ''
|
|
||||||
df['6c'] = ''
|
|
||||||
df['7c'] = ''
|
|
||||||
# df['8c'] = ''
|
|
||||||
#df['9c'] = ''
|
|
||||||
#df['10c'] = ''
|
|
||||||
|
|
||||||
|
|
||||||
|
# Se tiver mais de 10 estações únicas, limitar a 10
|
||||||
|
QTD = min(qtd_estacoes, 10)
|
||||||
|
|
||||||
|
print(f"Estações únicas encontradas: {qtd_estacoes}")
|
||||||
|
print(f"QTD definido para análise de vizinhança: {QTD}")
|
||||||
|
|
||||||
|
for i in range(1, QTD ):
|
||||||
|
df[f'{i}p'] = ''
|
||||||
|
df[f'{i}c'] = ''
|
||||||
|
|
||||||
df['LATITUDE'] = pd.to_numeric(df['LATITUDE'], errors='coerce')
|
df['LATITUDE'] = pd.to_numeric(df['LATITUDE'], errors='coerce')
|
||||||
df['LONGITUDE'] = pd.to_numeric(df['LONGITUDE'], errors='coerce')
|
df['LONGITUDE'] = pd.to_numeric(df['LONGITUDE'], errors='coerce')
|
||||||
@@ -140,29 +129,11 @@ def processar_arquivos_xls2(output_csv):
|
|||||||
lat1, lon1 = row['LATITUDE'], row['LONGITUDE']
|
lat1, lon1 = row['LATITUDE'], row['LONGITUDE']
|
||||||
distancias = df.apply(lambda x: calcular_distancia(lat1, lon1, x['LATITUDE'], x['LONGITUDE']), axis=1)
|
distancias = df.apply(lambda x: calcular_distancia(lat1, lon1, x['LATITUDE'], x['LONGITUDE']), axis=1)
|
||||||
distancias[i] = np.inf # Excluir a própria estação
|
distancias[i] = np.inf # Excluir a própria estação
|
||||||
proximas = distancias.nsmallest(7).index # Pegar os índices das três menores distâncias************
|
proximas = distancias.nsmallest(QTD).index # Pegar os índices das três menores distâncias************
|
||||||
|
|
||||||
df.at[i, '1p'] = df.at[proximas[0], 'NOME']
|
for j in range(QTD):
|
||||||
df.at[i, '2p'] = df.at[proximas[1], 'NOME']
|
df.at[i, f'{j+1}p'] = str(df.at[proximas[j], 'NOME'])
|
||||||
df.at[i, '3p'] = df.at[proximas[2], 'NOME']
|
df.at[i, f'{j+1}c'] = str(int(df.at[proximas[j], 'CODIGO']))
|
||||||
df.at[i, '4p'] = df.at[proximas[3], 'NOME']
|
|
||||||
df.at[i, '5p'] = df.at[proximas[4], 'NOME']
|
|
||||||
df.at[i, '6p'] = df.at[proximas[5], 'NOME']
|
|
||||||
df.at[i, '7p'] = df.at[proximas[6], 'NOME']
|
|
||||||
# df.at[i, '8p'] = df.at[proximas[7], 'NOME']
|
|
||||||
#df.at[i, '9p'] = df.at[proximas[8], 'NOME']
|
|
||||||
#df.at[i, '10p'] = df.at[proximas[9], 'NOME']
|
|
||||||
|
|
||||||
df.at[i, '1c'] = df.at[proximas[0], 'CODIGO']
|
|
||||||
df.at[i, '2c'] = df.at[proximas[1], 'CODIGO']
|
|
||||||
df.at[i, '3c'] = df.at[proximas[2], 'CODIGO']
|
|
||||||
df.at[i, '4c'] = df.at[proximas[3], 'CODIGO']
|
|
||||||
df.at[i, '5c'] = df.at[proximas[4], 'CODIGO']
|
|
||||||
df.at[i, '6c'] = df.at[proximas[5], 'CODIGO']
|
|
||||||
df.at[i, '7c'] = df.at[proximas[6], 'CODIGO']
|
|
||||||
# df.at[i, '8c'] = df.at[proximas[7], 'CODIGO']
|
|
||||||
# df.at[i, '9c'] = df.at[proximas[8], 'CODIGO']
|
|
||||||
# df.at[i, '10c'] = df.at[proximas[9], 'CODIGO']
|
|
||||||
|
|
||||||
df.to_csv(output_csv, sep=";", encoding='utf-8', decimal=',', index=False)
|
df.to_csv(output_csv, sep=";", encoding='utf-8', decimal=',', index=False)
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,8 @@ def processar_Classificao_Veranicos():
|
|||||||
for file in files:
|
for file in files:
|
||||||
print(f"Encontrada pasta: {file}")
|
print(f"Encontrada pasta: {file}")
|
||||||
qtd_veranicos,estacao = carregar_estacao_com_veranico(file)
|
qtd_veranicos,estacao = carregar_estacao_com_veranico(file)
|
||||||
# print(estacao)
|
print(estacao)
|
||||||
|
|
||||||
rodar_decendio(decendio,qtd_veranicos, estacao, file)
|
rodar_decendio(decendio,qtd_veranicos, estacao, file)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ def filtro_setembro_abril_estacao(dados, output_csv):
|
|||||||
# Ler os dados do CSV
|
# Ler os dados do CSV
|
||||||
dados_df = pd.read_csv(dados, sep=';', decimal=',', parse_dates=['DATA'], dayfirst=True)
|
dados_df = pd.read_csv(dados, sep=';', decimal=',', parse_dates=['DATA'], dayfirst=True)
|
||||||
|
|
||||||
|
#dados_df['CODIGO'] = dados_df['CODIGO'].astype(int)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -37,6 +39,8 @@ def filtro_setembro_abril_estacao(dados, output_csv):
|
|||||||
dados_selecionados = pd.concat([dados_selecionados, dados_df[selecao]])
|
dados_selecionados = pd.concat([dados_selecionados, dados_df[selecao]])
|
||||||
|
|
||||||
# Salvar os dados selecionados em um novo arquivo CSV
|
# Salvar os dados selecionados em um novo arquivo CSV
|
||||||
|
|
||||||
|
dados_selecionados['CODIGO'] = dados_selecionados['CODIGO'].astype(int)
|
||||||
dados_selecionados.to_csv(output_csv, sep=';', encoding='utf-8', index=False, decimal=',')
|
dados_selecionados.to_csv(output_csv, sep=';', encoding='utf-8', index=False, decimal=',')
|
||||||
|
|
||||||
|
|
||||||
@@ -72,6 +76,7 @@ def estacaochuvosa(dados, output_csv):
|
|||||||
|
|
||||||
# Tratar valores NaN substituindo por 0
|
# Tratar valores NaN substituindo por 0
|
||||||
dados_df['VALOR'] = dados_df['VALOR'].fillna(0)
|
dados_df['VALOR'] = dados_df['VALOR'].fillna(0)
|
||||||
|
dados_df['CODIGO'] = dados_df['CODIGO'].astype(int)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Erro geral ao converter a coluna 'VALOR': {e}")
|
print(f"Erro geral ao converter a coluna 'VALOR': {e}")
|
||||||
|
|||||||
BIN
jeanpronto-BaciaSaoMateus.zip
Normal file
BIN
jeanpronto-BaciaSaoMateus.zip
Normal file
Binary file not shown.
12
original/BaciaGrandeComp/BaciaGrandeComp.txt
Normal file
12
original/BaciaGrandeComp/BaciaGrandeComp.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
2044037
|
||||||
|
2143055
|
||||||
|
2144032
|
||||||
|
2144036
|
||||||
|
2145034
|
||||||
|
2145039
|
||||||
|
2145044
|
||||||
|
2244095
|
||||||
|
2245107
|
||||||
|
2245112
|
||||||
|
2245118
|
||||||
|
2246056
|
||||||
BIN
original/BaciaGrandeComp/BaciaGrandeComp.xls
Normal file
BIN
original/BaciaGrandeComp/BaciaGrandeComp.xls
Normal file
Binary file not shown.
16589
original/BaciaGrandeComp/dados/02044037.txt
Normal file
16589
original/BaciaGrandeComp/dados/02044037.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02143055.txt
Normal file
16589
original/BaciaGrandeComp/dados/02143055.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02144032.txt
Normal file
16589
original/BaciaGrandeComp/dados/02144032.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02144036.txt
Normal file
16589
original/BaciaGrandeComp/dados/02144036.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02145034.txt
Normal file
16589
original/BaciaGrandeComp/dados/02145034.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02145039.txt
Normal file
16589
original/BaciaGrandeComp/dados/02145039.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02145044.txt
Normal file
16589
original/BaciaGrandeComp/dados/02145044.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02244095.txt
Normal file
16589
original/BaciaGrandeComp/dados/02244095.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02245107.txt
Normal file
16589
original/BaciaGrandeComp/dados/02245107.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02245112.txt
Normal file
16589
original/BaciaGrandeComp/dados/02245112.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02245118.txt
Normal file
16589
original/BaciaGrandeComp/dados/02245118.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaGrandeComp/dados/02246056.txt
Normal file
16589
original/BaciaGrandeComp/dados/02246056.txt
Normal file
File diff suppressed because it is too large
Load Diff
BIN
original/BaciaRioBahia/BaciaRaoBahia.xls
Normal file
BIN
original/BaciaRioBahia/BaciaRaoBahia.xls
Normal file
Binary file not shown.
8
original/BaciaRioBahia/BaciaRioBahia.txt
Normal file
8
original/BaciaRioBahia/BaciaRioBahia.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
1541010
|
||||||
|
1541013
|
||||||
|
1541025
|
||||||
|
1542014
|
||||||
|
1542015
|
||||||
|
1542026
|
||||||
|
1542027
|
||||||
|
1542028
|
||||||
16589
original/BaciaRioBahia/dados/01541010.txt
Normal file
16589
original/BaciaRioBahia/dados/01541010.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaRioBahia/dados/01541013.txt
Normal file
16589
original/BaciaRioBahia/dados/01541013.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaRioBahia/dados/01541025.txt
Normal file
16589
original/BaciaRioBahia/dados/01541025.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaRioBahia/dados/01542014.txt
Normal file
16589
original/BaciaRioBahia/dados/01542014.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaRioBahia/dados/01542015.txt
Normal file
16589
original/BaciaRioBahia/dados/01542015.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaRioBahia/dados/01542026.txt
Normal file
16589
original/BaciaRioBahia/dados/01542026.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaRioBahia/dados/01542027.txt
Normal file
16589
original/BaciaRioBahia/dados/01542027.txt
Normal file
File diff suppressed because it is too large
Load Diff
16589
original/BaciaRioBahia/dados/01542028.txt
Normal file
16589
original/BaciaRioBahia/dados/01542028.txt
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user