Repositorio para los ejercicios de Limpieza, EDA y ETL de los pair-programing del módulo 2-sprint 2 del Bootcamp de Data Analyst PromoC Anahi Morales y Marina Ruiz
Librerias utilizadas:
- numpy
- panda
- datetime
- re
- ast
- requests
- sidetable
- seaborn
- matplotlib.pyplot
- from sklearn.impute import SimpleImputer
- from sklearn.experimental import enable_iterative_imputer
- from sklearn.impute import IterativeImputer
- from sklearn.impute import KNNImputer
LIMPIEZA
-
Limpieza I: Introducción
- Eliminar columnas con .drop().
- Duplicados con .duplicated().
- Cambio del tipo de datos en columnas a traves de .astype().
- Uniformidad en los datos de las columnas.
-
Limpieza II: Strings
- Extraccion de datos importantes a traves de patrones de Regex
- Uso de .apply().
- Cambio del tipo de datos en columnas a traves de pd.to_numeric().
-
Limpieza III: Valores extremos/Outliers
- Deteccion de outliers en columnas numericas.
- Uso de np.nanpercentile.
- Visualizacion a traves de boxplot.
-
Limpieza IV: Valores nulos
- Uso de .stb.missing() para ver porcentajes de nulos.
- Reemplazo de nulos a traves de metodo .fillna() y .replace().
-
Limpieza V: Valores nulos Sklearn
- Uso del metodo _Simple Imputer- para reemplazar nulos.
- Uso metodo KNN y Interative Imputer para reemplazar valores nulos de columnas numericas.
EDA
-
EDA I: Introducción
- Uso de metodos .head(), .shape, .columns para analisis exploratorio del dataframe.
- Porcentaje de valores nulos.
- Tipos de datos en cada columna con .dtypes.
- Informacion general de dataframe con el uso de .info().
- Uso de .describe() separando entre variables numericas y categoricas.
- Creacion de un dataframe que contiene los unique de cada columna.
-
EDA II: Nulos y valores extremos
- Uso de libreria sidetable para identificar valores nulos con .stb.missing()
- Analisis de variables en columnas teniendo en cuenta la frecuecia de las mismas con distintos porcentajes de acumulados con .stb.freq().
-
EDA III: Outliers
- Visualizacion de datos a traves de countplot.
- Uso de pd.cut() para categorizar columnas.
- Analisis de datos a traves de graficas.
ETL
-
ETL I: Extracción- API's
- Extraccion de datos de API de clima.
- Tratamiento para poder desempaquetar los datos obtenidos en un dataframe con el uso de pd.json_normalize, for loop para iterar sobre los mismos y uso de pd.concat() para union de datos.
-
ETL II : Transformación I - Limpieza
- Transformacion de datos con el uso de .apply(pd.Series).
- Uso de .groupby() para obtener la media por paises.
- Union de archivos a traves de .merge().
-
ETL III: Transformación II - Clases y Funciones de limpieza
- Creamos clase que conecta con API de informacion meteorologica, que los limpia, los anexa con un dataframe y chequea su informacion.
-
ETL IV: Carga I - Creación BBDD e inserción de datos
- Definimos funciones para:
- Crear base de datos
- Crear tablas
- Insertar datos
- Definimos funciones para:
-
ETL V: Carga II - Clases y Funciones BBDD e inserción
- Creamos una clase automatizando la creacion de base de datos, creacion de tablas e insercion de datos.
-
ETL VI: Transformación II - Ejecutable - Pipeline ETL
- Creamos dos archivos con extension '.py' donde almacenamos las distintas clases creadas en los anteriores pairprogrammings.