Descarga la aplicación para disfrutar aún más
Lea materiales sin conexión, sin usar Internet. Además de muchas otras características!
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
Compartir