iniciando

This commit is contained in:
2024-07-25 17:24:24 -03:00
commit dfea13c6c2
467 changed files with 13840436 additions and 0 deletions

View File

@@ -0,0 +1,256 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "3baa2ead-4ec5-46a4-a098-faffc5f77d3e",
"metadata": {},
"outputs": [],
"source": [
"#bibliotecas\n",
"#!pip install pandas numpy\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"import os"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "a7d16f5b-6486-4f88-bc7a-8586483ba363",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CODIGO</th>\n",
" <th>DATA</th>\n",
" <th>VALOR</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1742017</td>\n",
" <td>1980-01-01</td>\n",
" <td>1.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1742017</td>\n",
" <td>1980-01-02</td>\n",
" <td>10.6</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" CODIGO DATA VALOR\n",
"0 1742017 1980-01-01 1.6\n",
"1 1742017 1980-01-02 10.6"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Carregar o DataFrame e pega a estacao mais proxima\n",
"\n",
"dados_df = pd.read_csv(\"leitura.csv\", sep=';', decimal=',', parse_dates=['DATA'], dayfirst=True)\n",
"dados_df.head(2)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "8e7c01f0-b13c-4552-96f6-0906abd07280",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CODIGO</th>\n",
" <th>LATITUDE</th>\n",
" <th>LONGITUDE</th>\n",
" <th>NOME</th>\n",
" <th>1proxima</th>\n",
" <th>2proxima</th>\n",
" <th>3proxima</th>\n",
" <th>1codigo</th>\n",
" <th>2codigo</th>\n",
" <th>3codigo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1742017</td>\n",
" <td>-17.845600</td>\n",
" <td>-42.075600</td>\n",
" <td>MALACACHETA</td>\n",
" <td>ÁGUA BOA</td>\n",
" <td>SANTA MARIA DO SUAÇUÍ</td>\n",
" <td>SÃO JOÃO EVANGELISTA</td>\n",
" <td>1742019</td>\n",
" <td>1842008</td>\n",
" <td>1842020</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1742019</td>\n",
" <td>-17.992201</td>\n",
" <td>-42.393902</td>\n",
" <td>ÁGUA BOA</td>\n",
" <td>SANTA MARIA DO SUAÇUÍ</td>\n",
" <td>MALACACHETA</td>\n",
" <td>SÃO JOÃO EVANGELISTA</td>\n",
" <td>1842008</td>\n",
" <td>1742017</td>\n",
" <td>1842020</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" CODIGO LATITUDE LONGITUDE NOME 1proxima \\\n",
"0 1742017 -17.845600 -42.075600 MALACACHETA ÁGUA BOA \n",
"1 1742019 -17.992201 -42.393902 ÁGUA BOA SANTA MARIA DO SUAÇUÍ \n",
"\n",
" 2proxima 3proxima 1codigo 2codigo 3codigo \n",
"0 SANTA MARIA DO SUAÇUÍ SÃO JOÃO EVANGELISTA 1742019 1842008 1842020 \n",
"1 MALACACHETA SÃO JOÃO EVANGELISTA 1842008 1742017 1842020 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"\n",
"# Converter mapeamento para DataFrame\n",
"estacao_df = pd.read_csv(\"estacao_mais_proxima.csv\", encoding='utf-8', sep=';', decimal=',')\n",
"estacao_df.head(2)\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fb6a0bc3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dados atualizados:\n"
]
}
],
"source": [
"# Copiar dados_df para uma variável para atualização\n",
"AtualizaDados = dados_df.copy()\n",
"\n",
"# Caminho do arquivo de log no diretório atual\n",
"log_file_path = os.path.join(os.getcwd(), 'atualizacao_dados.txt')\n",
"\n",
"# Abrir o arquivo de log para escrita\n",
"with open(log_file_path, 'w') as log_file:\n",
" # Iterar sobre AtualizaDados para atualizar os valores\n",
" for index, row in AtualizaDados.iterrows():\n",
" valor = row['VALOR']\n",
" data = row['DATA']\n",
" if valor <= -1:\n",
" log_file.write(f\"Código: {row['CODIGO']}, Data: {row['DATA']}, Valor: {valor}\\n\")\n",
"\n",
" codigo_filtrado = row['CODIGO']\n",
" linhas_filtradas = estacao_df.loc[estacao_df['CODIGO'] == codigo_filtrado]\n",
" \n",
" # Iterar sobre os códigos próximos (1codigo, 2codigo, 3codigo)\n",
" for i in range(1, 4): # Considerando as três primeiras colunas de códigos\n",
" codigo_proximo = linhas_filtradas[f'{i}codigo'].iloc[0]\n",
" filtro = (dados_df['CODIGO'] == codigo_proximo) & (dados_df['DATA'] == data)\n",
" valor_proximo = dados_df.loc[filtro, 'VALOR'].values\n",
" \n",
" log_file.write(f\"{i}codigo: {codigo_proximo} Valor: {valor_proximo}\\n\")\n",
" \n",
" # Verificar se o valor encontrado não é menor ou igual a -1\n",
" if len(valor_proximo) > 0 and valor_proximo[0] > -1:\n",
" AtualizaDados.loc[index, 'VALOR'] = valor_proximo[0]\n",
"\n",
" log_file.write(f\"Valor atual {row['VALOR']} - Valor atualizado para: {valor_proximo[0]}\\n\")\n",
" break # Parar o loop se encontrar um valor válido\n",
" \n",
" log_file.write(\"---------------------------------------------------\\n\")\n",
"\n",
"# Exibir mensagem após completar o processo\n",
"print(\"Dados atualizados:\")\n",
"AtualizaDados.to_csv(\"dados_atualizados_mais_proximo.csv\", sep=\";\", encoding='utf-8', decimal=',', index=False)\n",
"#print(AtualizaDados)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}