Tablas en la base de datos:
hidrico_sonora_1941-1949_xlsx
hidrico_sonora_1950-1959_xlsx
hidrico_sonora_1970-1979_xlsx
hidrico_sonora_1980-1989_xlsx
hidrico_sonora_1990-1999_xlsx
hidrico_sonora_2000-2009_xlsx
hidrico_sonora_2010-2019_xlsx
hidrico_sonora_2020-actualidad2024_xlsx
datos_concatenados
catalogo_xlsx
Preparación de los datos
1 Preparación de los datos
Como continuación al proceso de CRISP-DM, se hará una preparación de los datos.
Recordemos que tenemos ocho archivos .xlsx
, los cuales cuentan con información del almacenamiento de 10 presas en Sonora desde 1941 a la actualidad, salvo el lapso de 1960-1969.
1.1 Creación de una base de datos.
En lo que sigue vamos a descargar nuestros datos desde la red, para crear una base de datos con los datos tal cual están en la red (salvo convertirlos a tipo str
, pues de otra forma no es posible crear la base de datos por la heterogeneidad en el tipo de dato y hacer una ).
Las tablas que contiene la base de datos son:
Una tabla por cada archivo que
.xlsx
que contienen los datos que queremos.datos_concatenados, esta tabla es la concatenación (hacia abajo) de los
.xlsx
.catalogo, esta tabla contiene información de cada una de las 10 presas consideradas.
1.2 Preparación de los datos
Lo primero que se realizó fue:
Renombrar columnas de la tabla “datos_concatenados”.
Hacer un dataframe de la tabla “catalogo_xlsx” para quedarnos solamente con las columnas que nos servirán.
Hacer un merge entre la tabla “datos_concatenados” y el dataframe del paso (2.) sobre la columna
Clave
.
Clave | Fecha | Almacenamiento | Presa | cap_name | cap_namo | vol_muerto | |
---|---|---|---|---|---|---|---|
0 | LCDSO | 1941/07/01 | 0.13 | Lázaro Cárdenas | 1116 | 703 | 10 |
1 | CHTSO | 1941/07/01 | - | Cuauhtémoc | 66 | 42 | 2 |
2 | CHTSO | 1941/07/02 | - | Cuauhtémoc | 66 | 42 | 2 |
3 | LCDSO | 1941/07/02 | 0.15 | Lázaro Cárdenas | 1116 | 703 | 10 |
4 | LCDSO | 1941/07/03 | 0.16 | Lázaro Cárdenas | 1116 | 703 | 10 |
... | ... | ... | ... | ... | ... | ... | ... |
202988 | PMOSO | 2024-09-19 | 10.636 | Ing. Rodolfo Félix Valdés | 222 | 121 | 15 |
202989 | ARLSO | 2024-09-19 | 0.0 | Abelardo Rodríguez Luján | 284 | 220 | 2 |
202990 | AGZCH | 2024-09-19 | 19.08 | Abraham González | 103 | 79 | 2 |
202991 | CHTSO | 2024-09-19 | 2.255 | Cuauhtémoc | 66 | 42 | 2 |
202992 | IRASO | 2024-09-19 | 2.727 | Ignacio R. Alatorre | 30 | 16 | 0 |
202993 rows × 7 columns
1.2.1 Limpieza de los datos.
1.2.1.1 Tratamiento de “-”.
De la fase 2, sabemos que el único dato inconsistente (incoherente) que tenemos es “-” en la columna Almacenamiento
, mientras que en la columna “Fecha” hay dos formatos.
Para saber como lidiar con el dato inconsistente, contemos cuántas observaciones tienen este dato en la columna Almacenamiento
:
En la columna "Almacenamiento" hay 13673 valores "-", de 202993
Para los datos con “-”, primero validaremos a que presa pertenece y su proporción.
Conteo_Guiones | Conteo_Total | Proporcion_Guiones | |
---|---|---|---|
Clave | |||
AGZCH | 334.0 | 19986 | 0.016712 |
AOBSO | 0.0 | 22756 | 0.000000 |
ARCSO | 0.0 | 21631 | 0.000000 |
ARLSO | 0.0 | 24631 | 0.000000 |
BICSO | 0.0 | 543 | 0.000000 |
CHTSO | 3168.0 | 26744 | 0.118456 |
IRASO | 1706.0 | 19986 | 0.085360 |
LCDSO | 31.0 | 26744 | 0.001159 |
PECSO | 0.0 | 19986 | 0.000000 |
PMOSO | 8434.0 | 19986 | 0.421995 |
Como podemos observar. Los datos inválidos se presentan en 5 presas, donde en una de ellas representan casi la mitad de los datos y el resto a lo mucho 11%, por lo que los valores de la presa PMOSO no serán tomados en cuenta para crear un modelo debido a su gran cantidad de valores inválidos. En cuanto al resto eliminamos los datos con “-”.
1.2.2 Formateo de fechas.
En la fase de exploración de los datos nos dimos cuenta que tenemos dos formatos para las fechas y no hay datos perdidos. En la siguiente celda se establece un único formato para nuestra columna Fecha
.
Clave | Fecha | Almacenamiento | Presa | cap_name | cap_namo | vol_muerto | |
---|---|---|---|---|---|---|---|
0 | LCDSO | 01-07-1941 | 0.13 | Lázaro Cárdenas | 1116 | 703 | 10 |
3 | LCDSO | 02-07-1941 | 0.15 | Lázaro Cárdenas | 1116 | 703 | 10 |
4 | LCDSO | 03-07-1941 | 0.16 | Lázaro Cárdenas | 1116 | 703 | 10 |
7 | LCDSO | 04-07-1941 | 0.16 | Lázaro Cárdenas | 1116 | 703 | 10 |
8 | LCDSO | 05-07-1941 | 0.15 | Lázaro Cárdenas | 1116 | 703 | 10 |
1.3 Validación de los datos
En esta sección vamos a corregir los datos atípicos.
En primera instancia, se eliminaron las mediciones en base a los siguientes criterios:
El año de la fecha es menor a 1941 o mayor a 2024; obteniendo:
Tabla XI. Validación de fechas. Clave Fecha Almacenamiento Presa cap_name cap_namo vol_muerto 0 LCDSO 07-01-1941 0.13 Lázaro Cárdenas 1116 703 10 3 LCDSO 07-02-1941 0.15 Lázaro Cárdenas 1116 703 10 4 LCDSO 07-03-1941 0.16 Lázaro Cárdenas 1116 703 10 7 LCDSO 07-04-1941 0.16 Lázaro Cárdenas 1116 703 10 8 LCDSO 07-05-1941 0.15 Lázaro Cárdenas 1116 703 10 por últimos verificamos que efectivamente, los datos están entre las fechas correctas
Año mínimo en el dataframe: 1941 Año máximo en el dataframe: 2024 No hay fechas fuera del rango (941-2024).
Los almacenamientos que están por debajo del primer cuartil y por encima del tercero, obteniendo;
Tabla XI. Validación de almacenamiento. Clave Fecha Almacenamiento Presa cap_name cap_namo vol_muerto 0 LCDSO 1941-07-01 0.13 Lázaro Cárdenas 1116 703 10 3 LCDSO 1941-07-02 0.15 Lázaro Cárdenas 1116 703 10 4 LCDSO 1941-07-03 0.16 Lázaro Cárdenas 1116 703 10 7 LCDSO 1941-07-04 0.16 Lázaro Cárdenas 1116 703 10 8 LCDSO 1941-07-05 0.15 Lázaro Cárdenas 1116 703 10 por último, verificamos que efectivamente, ya se cumple con el criterio:
No hay outliers en los datos limpios.