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:

  1. Una tabla por cada archivo que .xlsx que contienen los datos que queremos.

  2. datos_concatenados, esta tabla es la concatenación (hacia abajo) de los .xlsx.

  3. catalogo, esta tabla contiene información de cada una de las 10 presas consideradas.

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

1.2 Preparación de los datos

Lo primero que se realizó fue:

  1. Renombrar columnas de la tabla “datos_concatenados”.

  2. Hacer un dataframe de la tabla “catalogo_xlsx” para quedarnos solamente con las columnas que nos servirán.

  3. Hacer un merge entre la tabla “datos_concatenados” y el dataframe del paso (2.) sobre la columna Clave.

Tabla VIII. Información combinada de presas y catálogo.
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.

Tabla IX. Tratamiento de observaciones “-”.
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.

Tabla X. Correccion del formato en la variable 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:

  1. 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).
  2. 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.
Back to top