Módulo 3 · 02 | Pandas: Series y DataFrames

Módulo 3 · Clase 3.02 · Lectura y práctica

Pandas: Series y DataFrames

Objetivo: construir y explorar tablas, seleccionar operaciones y resumir ingresos por sucursal. Una fila representa una operación; una operación puede contener varias unidades. Datos sintéticos, importes en PYG.

1. Construir una tabla

Una Series representa una columna con índice. Un DataFrame organiza columnas en una tabla. Ejecutá este ejemplo autocontenido en Jupyter o VS Code:

import pandas as pd

df = pd.DataFrame({
    'operacion': ['V001', 'V002', 'V003', 'V004', 'V005', 'V006'],
    'sucursal': ['Centro', 'San Lorenzo', 'Centro', 'Luque', 'San Lorenzo', 'Luque'],
    'producto': ['Teclado', 'Mouse', 'Monitor', 'Teclado', 'Monitor', 'Mouse'],
    'unidades': [2, 3, 1, 4, 2, 5],
    'precio_unitario': [120000, 60000, 900000, 120000, 900000, 60000]
})
print(df.head())
df.info()
print(df.describe())
print(type(df['unidades'])) # Series
print(type(df[['unidades']])) # DataFrame

2. Seleccionar y calcular

.loc selecciona mediante etiquetas o condiciones; .iloc selecciona posiciones. Al filtrar con varias condiciones, usá paréntesis y el operador &.

df['importe'] = df['unidades'] * df['precio_unitario']
print(df.loc[df['importe'] >= 500000, ['operacion', 'importe']])
print(df.iloc[:2, :3])
print(df.loc[(df['sucursal'] == 'Luque') & (df['unidades'] >= 4)])

3. Agrupar y conciliar

resumen = df.groupby('sucursal', as_index=False).agg(
    operaciones=('operacion', 'count'),
    unidades=('unidades', 'sum'),
    ingresos=('importe', 'sum'))
print(resumen.sort_values('ingresos', ascending=False))
assert resumen['ingresos'].sum() == 3900000
assert df['operacion'].is_unique

Centro: G. 1.140.000; San Lorenzo: G. 1.980.000; Luque: G. 780.000. Contar filas mide operaciones; sumar unidades mide artículos vendidos. Al agrupar se pierde el detalle de cada operación.

Práctica

  1. Calculá ingresos por producto y ordenalos de mayor a menor.
  2. Calculá el promedio del importe por operación para cada sucursal.
  3. Explicá por qué Luque tiene dos operaciones pero nueve unidades.
  4. Redactá dos hallazgos y aclará que corresponden a datos ficticios.
Ver solución
print(df.groupby('producto')['importe'].sum().sort_values(ascending=False))
# Monitor 2700000; Teclado 720000; Mouse 480000
print(df.groupby('sucursal')['importe'].mean())
# Centro 570000; Luque 390000; San Lorenzo 990000

Fuentes oficiales verificadas

Consulta: 14/10/2026. Ejemplos originales.

Materiales descargables del Módulo 3

Descargar notebooks, datos y evaluación (ZIP)

Descomprimí el paquete. Incluye tres cuadernos .ipynb con ejercicios y soluciones, dos CSV sintéticos, guía docente, evaluación con rúbrica y referencias oficiales verificadas. Abrí el cuaderno de esta clase y ejecutá las celdas en orden desde esa carpeta. Consultá LEEME.md para preparar el entorno.

Scroll al inicio
¿Consultas? Escribinos