QuieroProgramar por Rodri Gonzalez
Data Analysis · Lección 02 de 19

pandas: Series y DataFrames

En el mundo real, no trabajás con bases de datos en abstracto. En Python trabajás con DataFrames y Series. Entender la diferencia entre ambos es la clave para no trabarte cuando intentes aplicar funciones avanzadas más adelante.

60–90 min Prerrequisitos: Lección 01
01

Teoría: Anatomía de pandas

Todo el ecosistema de análisis de datos de Python se sostiene sobre dos tipos de objetos creados por la librería principal:

Analogía visual: Una sola pata de la mesa es una Serie. La mesa completa (con todas sus patas alineadas y atornilladas a la madera) es el DataFrame.

El Índice: El DNI de los datos

Tanto las Series como los DataFrames comparten un atributo mágico que las simples Listas de Python no tienen: el índice (Index). En las listas de Python ([10, 20, 30]) la posición 0, 1, 2 está implícita. En pandas, el índice es una capa visible al lado de la tabla que dice exactamente quién es esa fila. Puede ser un número 0, 1, 2, pero ¡también puede ser una fecha 2024-01-01 o un ID de Cliente CLI-892!

02

Series en profundidad

Creemos una Serie para los precios de 3 acciones en la bolsa local.

series_basicas.pyPython

        
Hacé clic en ▶ Ejecutar

Series con Índice Personalizado

La magia ocurre cuando le asignamos las etiquetas (los nombres de las acciones) al índice. Ahora podemos extraer valores usando su nombre, y no solo porque "esté en la posición 1".

series_indice_personalizado.pyPython

        
Hacé clic en ▶ Ejecutar
Tip estructural: Si armás la Serie desde un diccionario (ej: {'YPFD': 1200, 'GGAL': 3450}), pandas automáticamente usa las claves como índices y los valores como la data. Es una construcción súper ágil.
03

DataFrames en profundidad

Un DataFrame se usa cuando necesitás ver múltiples dimensiones. Para armarlo manualmente partimos de algo que en Análisis de Datos llamás "esquema columnar" (Dictionary of Lists).

dataframes_columnar.pyPython

        
Hacé clic en ▶ Ejecutar
El error de novato más grave: El atributo .shape no lleva paréntesis ni recibe argumentos. df.shape() fallará siempre. Es una propiedad del objeto, no un método/acción. Esto significa que la forma de la tabla ya está calculada y guardada, es inerte.

Extrayendo partes de un DataFrame

Acá es donde conectás ambos conceptos. Cuando extraés una sola columna de un DataFrame, pandas evalúa: "¿Una columna? Eso es un arreglo unidimensional" y **automáticamente te devuelve una Serie**.

extrayendo_series.pyPython

        
Hacé clic en ▶ Ejecutar
04

Ejercicios interactivos

Estos ejercicios están pensados para asentar la creación de estructuras y extracción básica.

Nivel 1 · Básico

Ejercicio 1: Crear una Serie desde un Diccionario

Creá una serie desde un diccionario donde las claves sean los días de la semana y los valores la venta. La venta debe ser tu_dicc = {"Lunes": 10, "Martes": 15, "Miercoles": 20}. Imprimila por consola. La salida debe mostrar el index Miercoles y el valor 20 en la misma línea.

ejercicio_01_serie.pyDebe incluir "Miercoles 20"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 2: Creación de Dataframe y Extracción de Atributos

Utilizá las listas proporcionadas para armar el DataFrame de Clientes. El diccionario debe llamarse datos y tener las llaves "Usuario", "Edad", "Activo". Luego instancialo como dataframe en la variable df. Por último, imprimí exclusivamente la forma del DataFrame usando la propiedad correspondiente. Tiene que decir (3, 3).

ejercicio_02_dataframe.pyDebe imprimir "(3, 3)"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 3: Extrayendo una Serie desde un Dataframe y calculando max()

Dado el DataFrame listo de métricas de marketing, extraé usando corchetes ["columna"] la columna "CTR" (Click Through Rate) para tener la Serie individual, y luego usá sobre ella el método .max(). Modificalo en un print de forma que el resultado contenga el número `15.5`.

ejercicio_03_combinado.pyDebe evaluar e imprimir "15.5"

          
Hacé clic en ▶ Ejecutar
05

Reflexión de Negocios

Saber armar esquemas con diccionarios de Python a memoria de Pandas (como hoy) se usa todos los días cuando hacemos peticiones a una API y nos responde un `JSON`. Extraer todo este JSON, pasarlo a Listas, y meterlo a un DataFrame es una tarea clave para un Data Analyst y sobre todo para posiciones orientadas a automatización de procesos RPA e Ingeniería de Datos.

En la siguiente lección (03 · pandas: lectura de datos) pasaremos al santo grial del día a día: cómo importar miles de registros de archivos CSV externos que no están directamente en la memoria.