1 - DataFrames anchos y largos

Lección 1 del curso Pandas Nivel Avanzado.

Video

Acá el video completo de esta lección:

Introducción

En ocasiones cuando leemos datos tabulares en el formato DataFrame de Pandas la información se encuentra “desorganizada” y no resulta fácil entender los datos ni realizar el análisis.

Por ejemplo esta es una tabla desorganizada:

Nombre Categoría Valor
Julia Saldo 2.300
Julia Color Rojo
Carlos Saldo 1.100
Julia Edad 40
Carlos Color Púrpura
Carlos Edad 38

¿Por qué es desorganizada?

En últimas todo esto dificulta la interpretación y análisis de los datos.

Una forma alterna de ver estos datos es en una tabla organizada:

Nombre Edad Saldo Color
Julia 40 2.300 Rojo
Carlos 38 1.100 Púrpura

¡En este caso resulta mucho más fácil entender el contenido de la tabla!

En la práctica muchas veces los datos están desorganizados y por tanto debemos saber usar técnicas que nos permitan preservar la información para obtener un DataFrame organizado. Esto se conoce como re-estructurar un DataFrame y es precisamente el tema de este primer módulo del curso.

Entonces veremos técnicas como el uso de tablas dinámicas, el “stacking” (apilar) y “unstacking” (des-apilar) de una tabla, así como en qué consisten los conceptos de “fundir” y “explotar” un DataFrame.

Pero para entender estos conceptos es necesario partir de dos definiciones básicas: el significado de lo que es un DataFrame ancho y un DataFrame largo, que es precisamente el tema de esta lección.

DataFrames anchos

Un DataFrame ancho es aquel que crece a través de sus columnas. Es decir, ¡crece a lo ancho!

Entendamos esto con un ejemplo. La siguiente tabla contiene la información sobre la temperatura en dos ciudades de España para dos días de la semana:

Día Sevilla Barcelona
0 Lunes 28 24
1 Martes 26 25

Supongamos que ahora tomamos los mismos datos de temperatura para otras 2 ciudades y para los mismos dos días: Granada (23, 21) y Valencia (29, 25). ¿Dónde agregamos estos datos?

La estructura de la tabla nos indica que debemos añadir esta información agregando dos nuevas columnas:

Día Sevilla Barcelona Granada Valencia
0 Lunes 28 24 23 29
1 Martes 26 25 21 25

Es decir: !la tabla ha crecido a lo ancho y por tanto se trata de un DataFrame ancho!

3. ¿Cuál estructura es más adecuada?

La respuesta es ¡depende!

Por ejemplo, si queremos conocer la temperatura promedio por día, es más conveniente la representación ancha:

Día Sevilla Barcelona Granada Valencia
0 Lunes 28 24 23 29
1 Martes 26 25 21 25

Pero si nos interesa la temperatura promedio de ambos días es mejor la representación larga:

Día Ciudad Temperatura
0 Lunes Sevilla 28
1 Lunes Barcelona 24
2 Lunes Granada 23
3 Lunes Valencia 29
4 Martes Sevilla 26
5 Martes Barcelona 25
6 Martes Granada 21
7 Martes Valencia 25

Así que la estructura más adecuada dependerá de la información que queramos extraer de los datos.

Y por eso es importante tener claros estos dos tipos de estructuras, pues las técnicas que veremos en las próximas lecciones nos permiten precisamente modificar dicha estructura dependiendo del análisis que queramos realizar.

El notebook de esta lección

Contenido exclusivo suscriptores

Contenido exclusivo para suscriptores. Suscríbete para tener acceso a todos los cursos y material descargable de la Academia Online

Muy bien, teniendo claro estos sencillos conceptos ya estamos listos para comenzar a ver en detalle las diferentes técnicas que nos ofrece Pandas para la re-estructuración de tablas de datos, comenzando con las tablas dinámicas (o pivot tables) que será el tema de la próxima lección.

Ver todas las lecciones de este curso