> misión 2/8 · 35 min

Leer un archivo público

Mensaje de Daniela Fuentes, analista de datos y tu mentora en esta ruta

Antes de abrir tus datos, practiquemos con una muestra: la matrícula escolar del Maule por comuna y dependencia, de 2020 a 2024, con el formato con que se publican muchos datos abiertos (los números son inventados). Los archivos públicos casi nunca vienen listos: si los lees como un CSV cualquiera, los números salen mal sin ningún error. Léelo bien y separa lo que no es detalle.

Concepto

Antes de leer un archivo público con pandas, mira sus primeras líneas. En la muestra hay cuatro trampas comunes:

Lo que vesQué significaCómo se lee
; entre columnasEl separador es punto y coma, porque en Chile la coma se usa para los decimalessep=";"
14.918Catorce mil novecientos dieciocho: el punto separa los milesthousands="."
s/iSin información: el dato faltana_values="s/i"
Total regionalUna fila que suma las demás, mezclada con el detallese separa con un filtro

Muchos archivos escriben agno en vez de año, para evitar la ñ.

Ninguna de estas trampas produce un error. Si lees el archivo sin indicar nada, obtienes una sola columna con todo junto:

import pandas as pd
matricula = pd.read_csv("datos/matricula_comunal.csv")
print(matricula.columns)
print(matricula.head())

Por eso, después de leer, revisa siempre columns, dtypes y algún valor que conozcas. Las filas de total se separan del detalle con un filtro: matricula[matricula["comuna"] != "Total regional"] deja todas las filas menos las de total.

> tarea Python

Lee datos/matricula_comunal.csv en la variable matricula, de modo que tenga sus cinco columnas, la matrícula como número (con los miles bien leídos) y los «s/i» como datos faltantes.

Cargando Python… la primera vez puede tardar unos segundos.

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

> tarea Python

Guarda en detalle las filas por comuna y en totales las filas de «Total regional». Después guarda en faltan_2022 cuánta matrícula de 2022 no aparece en el detalle: el total regional de ese año menos la suma de su detalle.

Cargando Python… la primera vez puede tardar unos segundos.

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

> decisión

En 2022 faltan 4.477 estudiantes en el detalle, por los «s/i» de Linares y Parral. ¿Qué haces en tu análisis?

Cargando opciones…

Aprueba las tareas de esta misión para ver el cierre.