Leer un CSV con pandas
Objetivos
Al terminar podrás cargar el archivo de práctica y hacer una inspección inicial antes de calcular métricas.
Concepto
CSV significa comma-separated values (valores separados por comas): un archivo de texto que organiza datos en filas y columnas usando separadores. Aquí usamos un fixture, un archivo pequeño preparado para practicar con valores sintéticos; no es una descarga de registros reales de Sakila. pandas.read_csv lo lee y crea un DataFrame, la tabla de trabajo de pandas, que permite seleccionar, revisar y transformar esas filas y columnas.
Descarga el fixture sintético de pagos con estructura Sakila, colócalo junto a tu notebook y revisa la documentación del dataset. Instala pandas con python -m pip install pandas si todavía no está disponible.
Ejemplo
Ejecuta desde la carpeta donde guardaste el CSV:
import pandas as pd
payments = pd.read_csv(
"customer-payments-fixture.csv",
parse_dates=["payment_date"],
)
print(payments.head(3))
print(payments.shape)
print(payments.dtypes)shape devuelve (filas, columnas). En este fixture esperamos 8 filas y 6 columnas. payment_id distingue las filas; customer_id se repite porque una persona puede realizar varios pagos.
Nota
Importante: todas las filas y los identificadores de este CSV son sintéticos; no se exportaron de Sakila ni se pueden usar para consultar sus registros. El archivo solo imita la forma de columnas que se pueden obtener de la base oficial.
Práctica guiada
- Cambia
head(3)porhead()y observa cuántas filas aparecen. - Imprime solo
payments["amount"].head(). - Compara el número de filas con la cantidad de identificadores distintos:
payments["payment_id"].nunique().
Reto
Imprime las columnas del DataFrame y comprueba si cada payment_id aparece una sola vez. Explica por qué customer_id sí puede repetirse.
Quiz
¿Qué describe mejor una fila de este CSV?
- A. Un cliente único.
- B. Un pago.
- C. Una tienda.
Respuesta: B. La consulta de origen produce una fila por payment_id.
Comprobación
Antes de filtrar, confirma que amount tiene un tipo numérico y payment_date se cargó como fecha. La siguiente lección selecciona pagos usando una condición.