Logo Studenta

Clase 27 - Data Wrangling I

¡Este material tiene más páginas!

Vista previa del material en texto

Data Wrangling I
 Clase 27. Data Science
Obligatoria siempre
¿DUDAS DEL ON-BOARDING?
MIRALO AQUI
Obligatoria siempre.
RECUERDA PONER A GRABAR LA CLASE
Colocar todas las clases
Establecer la relación entre Data Wrangling y un proyecto de Ciencia de Datos.
Analizar cada una de las etapas de Data Wrangling.
Fusionar y concatenar DataFrames
OBJETIVOS DE LA CLASE
Obligatoria siempre. Es lo que queremos alcanzar una vez finalizada la clase. Recordá que se enuncian en principio con el verbo delante (por ejemplo: “Comprender…”, “Analizar…”, “conocer…”, etc).
MAPA DE CONCEPTOS
MAPA DE CONCEPTOS CLASE 24
Comprensión y Adquisición de Datos
Modelado
Despliegue
Entendimiento del caso de Negocio
Preparación de los Datos (Data Wrangling)
ITERAR
Evaluación
Se puede usar para comenzar o finalizar la clase, según sea más conveniente. La información de este slide es de relleno. 
Recurso: Mapa de conceptos
Muestra rápidamente los contenidos de la clase y cómo se relacionan. Ayuda a los estudiantes a evitar “perderse” durante la clase, al avanzar en un sentido lineal una diapositiva tras otra. El ejemplo pertenece a la primera clase del curso UX/UI.
Sugerencia: 
-También se pueden mostrar con un menor énfasis o colores apagados, aquellos contenidos de clases anteriores y que se vinculen con la actual. 
-Resaltar con color los temas que se abordan en la clase.
Clase 27
Data Wrangling I
Clase 28
Data Wrangling II
CRONOGRAMA DEL CURSO
Clase 26
Data Acquisition II
ACCEDEMOS A BASE DE DATOS SOBRE PANDAS.
LEER UNA BASE DE DATOS
MERGE CON DATAFRAME
PASOS DEL DATA WRANGLING
DATA WRANGLING
Recurso: Cronograma del curso
- Se muestra al inicio de cada clase 
- Tiene un aspecto similar a un calendario.
- Resume rápidamente: título de la clase, número y contenidos que abarca
- Guía rápida tanto para docentes, como para estudiantes.
- Para mayor ubicación en el curso, también muestra en un tamaño más pequeño lo sucedido la clase anterior y la siguiente.
-Ubicar en el interior de cada clase aquellas cuestiones destacadas con las cuales se encontrará el alumno y con su respectivo nombre: desafíos, entregables de proyecto, actividades colaborativas o ejemplos en vivo.
Repaso de Adquisición de Datos
Usar para los subtemas de un módulo.
REPASO
¿Cómo accedemos a base de datos usando pandas?
¿De qué depende el proceso de adquisición de datos en una empresa? 
¿Qué diferencia hay entre la lectura de datos desde archivos planos / excel y bases relacionales?
¿Cómo se utiliza JSON para la lectura Web API?
¡ESCRIBELO EN EL CHAT!
“Para pensar”.
¿Como crear encuestas de zoom? Disponible en este video.
El docente generará una encuesta de zoom para que los estudiantes respondan. Esto es una actividad de comprobación.
Sugerimos:
Utilizarlo antes del break para que los estudiantes puedan votar en la encuesta antes de ir al mismo.
Al regresar, mostrar los resultados a los estudiantes.
Si hay buena respuesta de este recurso, se recomienda utilizarlo de forma orgánica en más instancias de la clase.
En las clases anteriores, hemos visto cómo acceder a diferentes fuentes de datos, utilizando pandas.
A partir de algunos ejemplos, dimos con que en ocasiones, el proceso de adquisición de datos no es simple. Depende del grado de madurez de gobierno y manejo del dato de la compañía.
En esta sesión, nos enfocaremos en la preparación de los datos o Data Wrangling.
¡Empecemos!🏁
No va, es para guiar el uso del template.
Lecturas de datos desde archivos planos y excel
Lectura de datos desde una base de datos relacional
Lectura de JSON
Lectura de Web api con JSON
Adquisición de datos
No va, es para guiar el uso del template.
Introducción a la manipulación de datos (Data Wrangling)
Usar para los módulos más importantes de la clase, donde se introducen conceptos que se ven en varios slides. No hay que usarla para todos los módulos.
Data Wrangling en un proyecto de Ciencia de Datos
Usar para los subtemas de un módulo.
Definición de Data Wrangling
La manipulación de datos es el proceso de limpieza y unificación de conjuntos de datos complejos y desordenados para facilitar el acceso, análisis y modelado. Este proceso generalmente incluye convertir y mapear los datos crudos (raw data) y dejarlos en un formato más adecuado para su uso. 
No va, es para guiar el uso del template.
Recordamos las etapas de un proyecto de Data Science
La mayor cantidad de tiempo, estamos limpiando y manipulando datos para dejarlos en un formato más adecuado para su uso.
Etapas del data wrangling
Usar para los subtemas de un módulo.
1
2
Etapas del data Wrangling
3
4
5
6
Descubrimiento.
Estructuración.
Limpieza.
Enriquecimiento.
Validación.
Publicación.
Usar para slides de texto con gráfico de etapas/pasos.
Antes de empezar cualquier análisis, es importante comprender los datos, la estructura, tipos y cantidad. También lo es conocer por qué una compañía los utiliza y cómo. Ésto sirve para tomar decisiones posteriores con un rumbo claro. 
Descubrimiento
La idea de esta etapa es estandarizar el formato de los datos. Dependiendo de si hay diversas fuentes u orígenes, los datos estarán en diferentes formatos y estructuras. 
Estructuración
Debemos eliminar los datos que no brinden información extra como los duplicados, revisar datos faltantes, etc. Esta propiedad estandariza el formato de las columnas (float, datatimes, etc).
Limpieza
Esta etapa se refiere a agregar datos extra que complementen a los que ya existen para agregar información extra al análisis.
Enriquecimiento
Es muy importante para los equipos, asegurarse que los datos son precisos y que la información no se alteró durante el proceso. Esto significa asegurar la fiabilidad, credibilidad y calidad de los datos limpios debido a que van a utilizarse para tomar decisiones. 
Validación
Una vez que los datos están validados, se pueden compartir para su uso, realizar análisis exploratorios, entrenar modelos y tomar decisiones.
Publicación
Pasos del Data Wrangling
Vamos a identificar los datos antes vistos
Tiempo estimado: 15 min
Pasos del Data Wrangling
En este desafío discutiremos el ejemplo de un proyecto de Netflix sobre los pasos del data wrangling. 
En los grupos conformados, identificaremos los distintos pasos antes vistos.
Tiempo estimado: 15 min
Netflix- Movie Recommendation | Kaggle.com | Enlace
¡PARA PENSAR!
Discutiremos el ejemplo de un proyecto de Netflix sobre los pasos del data wrangling. Identificar los distintos pasos antes vistos
https://www.kaggle.com/laowingkin/netflix-movie-recommendation#Data-manipulation
“Para pensar”.
¿Como crear encuestas de zoom? Disponible en este video.
El docente generará una encuesta de zoom para que los estudiantes respondan. Esto es una actividad de intercambio de opiniones.
Opciones (no hay respuesta correcta):
AI
5G
IoT
mRNA
AR/VR
CRISPR
Robotics
Longevity
Telehealth
Metaverse
Blockchain
Bioplastics
Gene Editing
Electrification
Space Tourism
Energy Storage
Verticle Farming
Cloud Computing
Plant-Based Meat
Personalize Medicine 
Autonomous Vehicles
☕ 
BREAK
¡5/10 MINUTOS Y VOLVEMOS!
Obligatoria siempre. A la hora del Break, entre 5 y 10 minutos. Considerar ubicar este espacio en un momento adecuado de la clase. Al volver, mostrar los resultados de la pregunta del anterior slide y generar un breve intercambio.
Repaso de pandas
Usar para los subtemas de un módulo.
Como futuros Data Scientists, comúnmente nos toparemos con valores faltantes o ausentes que podrían provenir de las siguientes situaciones:
Fallas en algún paso de la carga de datos.
Omisión directa de la carga de datos.
Reticencia de parte de un encuestado a dar una respuesta determinada.
¡Los valores faltantes son más comunes de lo que piensas!
 Datos ausentes ¿Por qué?
Estos valores podrían no ser adecuados para algunos algoritmos de Data Science. Por ello, deben ser manejados correctamente.Pandas nos provee de herramientas para trabajar con ellos.
Primero que nada, definamos nuestro conjunto de prueba:
Repaso con datos ausentes
👉
Numeros_nan = Numeros_serie_2_porcion + Numeros_serie_3_porcion
Numeros_nan
Podemos eliminarlos
👉
Numeros_nan.isnull()
Numeros_nan.fillna(0)
Numeros_nan.dropna()
👉
👉
Repaso con datos ausentes
Podemos marcarlos
Podemos reemplazarlos
Cómo tomar una decisión sobre el valor nulo
A partir de esta captura de librería, vemos que graficar los valores del faltante puede ser útil para tomar decisiones.
Blanco: Valores del faltante
Negro: Valor lleno
No va, es para guiar el uso del template.
Otras funciones vistas 
Agregaciones: sum, max, min, std, var etc..
describe() e info() para describir el dataset de forma general
Funciones con str y Datetimes para mejorar formato de fecha y text
No va, es para guiar el uso del template.
Combinar y fusionar objetos con pandas. Merge y concat
Usar para los módulos más importantes de la clase, donde se introducen conceptos que se ven en varios slides. No hay que usarla para todos los módulos.
Merge 
Usar para los subtemas de un módulo.
Combinar y fusionar objetos
pandas.merge(): Conecta filas de dos o más DataFrames basado en una o mas keys. Es similar al join en una query de sql.
No va, es para guiar el uso del template.
Merge: Fusión de Dataframes
En el ejemplo, vemos dos tablas con una misma key. 
Result = pd.merge(left, right, on="key")
Caso Simple
No va, es para guiar el uso del template.
Caso Simple: Una key
Merge: Fusión de Dataframes
Result = pd.merge(left, right, on="key")
No va, es para guiar el uso del template.
result = pd.merge(left, right, on=["key1", "key2"])
Caso No tan simple: Una key
Merge: Fusión de Dataframes
No va, es para guiar el uso del template.
Ejemplo en vivo con el archivo merge.ipynb
Merge: Fusión de Dataframes
No va, es para guiar el uso del template.
Concatenate
Usar para los subtemas de un módulo.
Concatenate: Apilar Objetos
Este caso es ordenado y simple porque las tablas tienen la mismas columnas
Ejemplo: 
pandas.concat(): Concatena o apila dos o más dataframes a lo largo de un eje
No va, es para guiar el uso del template.
Ejemplo: 
Axis = 0 es el valor por default y significa que va a apilar las flas de los Dataframes.
La única columna que tienen en común es la D
Concatenate: Apilar Objetos
No va, es para guiar el uso del template.
Ejemplo: 
Axis = 1 significa que va a apilar las columnas de los DataFrames
Las filas que tiene que tienen índices en comun tienen valores en todas las columnas.
Concatenate: Apilar Objetos
No va, es para guiar el uso del template.
Merge con DataFrame
Vamos a aplicar las funciones merge y concatenate de Pandas
Tiempo estimado: 15 min
Fusión de DataFrame
En este desafío les proponemos leer dos archivos de pandas y utilizar las funciones merge y concatenate para generar nuevos DataFrames.
Trabajaremos en los grupos conformados, con las siguientes consignas:
Ejercicio 1:
Leer los excel clase0.xlsx y clase1.xlsx y realizar un merge con diferentes estrategias (inner, outer, left y right). Que observan?
Ejercicio 2:
Con los mismos DataFrame utilizar la función concat. ¿Qué conclusiones pueden sacar?
Tiempo estimado: 15 min
Why is “DATA CLEANING” necessary? | Medium.com | Enlace
Disponible en nuestro repositorio.
ResidentMario/ missigno: Missing data visualization module for Python | github.com | Enlace
¿PREGUNTAS?
Obligatoria. Se sugiere ubicar al finalizar la explicación de algún tema, para abrir formalmente el espacio de preguntas y ordenar la interacción.
¡MUCHAS GRACIAS!
Repaso de Adquisición de Datos
Etapas del data Wrangling
Fusion de DataFrames
Obligatoria siempre. En caso de cerrar con el “mapa de conceptos” se puede dejar solo “muchas gracias”. Completar el resumen con palabras claves de lo visto.
OPINA Y VALORA ESTA CLASE
Obligatoria siempre.
#DEMOCRATIZANDOLAEDUCACIÓN
Todas las clases

Continuar navegando

Otros materiales