← Lumbre

Programación con Python para Datos · 2.º Cargar datos reales

← Volver a todos los contenidos
Portada de Cargar datos reales

Cargar datos reales

✦ Los datos del mundo real llegan sucios y desordenados: comas donde iban punto, acentos mal leídos, columnas de índices fantasma · Programación con Python para Datos · Programación · 4 minutos que valen la pena

Roadwise Consulting

Firmado y verificado · Fernando Castro

Objetivo: Importar archivos CSV, Excel y JSON con Pandas, manejando cabeceras, separadores, codificación e índices.

4 min 18–30 años
Autoevaluación
Más
Cargar datos reales

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Objetos Cursos Explorar Mi cuenta Salir del modo estudio

Cargar datos reales

Ilustracion de Python para datos: DataFrame, graficas y arrays de NumPy.
Python para ciencia de datos: NumPy, pandas y manipulacion de datos.

Mapa conceptual

  • Python para Datos
    • Entorno
      • pip
      • venv
      • Reproducibilidad
    • Funcional
      • Comprensiones
      • Lambda
      • map filter
    • Calidad
      • try except
      • pytest
      • Asserts
    • NumPy
      • Arrays
      • Broadcasting
      • Indexacion
    • Pandas
      • DataFrame
      • Groupby
      • Merge Join

read_csv, el caballo de batalla

pd.read_csv es la puerta de entrada más usada. Lee un archivo de texto separado por comas y lo convierte en DataFrame. Su potencia está en los parámetros: permiten decirle cómo está hecho el archivo en vez de suponerlo.

Parámetros que salvan el día

  • sep: el separador real (coma, punto y coma o tabulador).
  • header: qué fila contiene los nombres, o None si no hay cabecera.
  • encoding: casi siempre utf-8; si ves acentos rotos, prueba latin-1.
  • parse_dates: convierte columnas de fechas en tipos temporales, no en texto.

El problema del separador

Un CSV «de verdad» usa coma, pero muchos archivos exportados desde hoja de cálculo en configuración europea usan punto y coma, porque la coma ya reserva para decimales. Leer con el separador equivocado produce un DataFrame de una sola columna: señal clara de que hay que cambiar sep.

Cabeceras e índices

A veces la primera columna es un índice sin nombre que read_csv trata como dato. index_col=0 lo declara índice y limpia la tabla. Si faltan nombres de columnas, header=None y names=[...] te dejan asignarlos a mano.

Tipos al cargar

Pandas infiere el dtype de cada columna, y a veces se equivoca: un identificador numérico se lee como entero cuando debería ser texto, o una columna con un error tipográfico se vuelve objeto. dtype=... fuerza el tipo correcto desde el principio, evitando sorpresas.

Diagnosticar la carga leyendo la forma resultante del DataFrame.
Síntoma al cargarCausa probableSolución
Una sola columna con todo el textoSeparador equivocadoajustar sep
Acentos y eñes ilegiblesCodificaciónprobar encoding utf-8 o latin-1
Columna de fechas como textoNo se parseóparse_dates=[...]
Un índice repetido como columnaPrimera columna es índiceindex_col=0

Abres un CSV y obtienes un DataFrame con una única columna que contiene todo el texto de cada fila. ¿Cuál es la causa más probable?

Excel

pd.read_excel lee hojas de cálculo, donde puede haber varias hojas y celdas combinadas. Se elige la hoja con sheet_name y se controla la fila de cabecera igual que en CSV. Conviene exportar a CSV cuando el archivo es muy irregular.

JSON

Muchas APIs devuelven JSON. read_json carga estructuras anidadas; para registros planos suele bastar pd.json_normalize, que aplana diccionarios anidados en columnas. Es el puente entre un servicio web y un DataFrame.

Delimitadores y basura

  • skiprows / nrows: saltar líneas iniciales de licencia o leer solo las primeras filas de prueba.
  • na_values: decir a Pandas qué textos representan un dato ausente (N/A, -, ).
  • usecols: cargar solo las columnas que interesas, para archivos enormes.

Verificar tras cargar

Nunca asumas que la carga fue limpia: tras read_csv, mira df.shape, df.dtypes y df.head(). Comparar el número de filas con el que anuncia el archivo es el control de calidad mínimo antes de analizar.

Errores frecuentes

  • Aceptar los valores por defecto sin mirar el archivo real, y analizar columnas mal troceadas.
  • Dejar que un identificador se cargue como entero y perder los ceros iniciales.
  • No fijar na_values y tratar como texto válido lo que eran ausentes.

Especificar dtype al cargar un CSV puede evitar que Pandas infiera mal el tipo de una columna.

Cargar es documentar

El conjunto de parámetros con que leste un archivo forma parte de tu análisis. Guárdalos en el código, no en la memoria: reproducir un resultado exige recargar los datos exactamente igual.

Asigna cada parámetro a su finalidad:

Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.

Video complementario
Recurso audiovisual para reforzar los conceptos.

Imagina que descargas un CSV de datos gubernamentales con punto y coma, acentos y una primera fila de comentarios. Escribe la llamada a read_csv con los parámetros necesarios para cargarlo bien y justifica cada uno.

Tu texto se guarda sólo en este dispositivo.

Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.

Autoevaluación

Comprueba lo que aprendiste

2 preguntas · ves cada respuesta al momento · el resultado queda guardado en tu historial

Iniciar autoevaluación
Más sobre esta lección

Rutas vivas

¿Y ahora qué? Elige el camino por lo que necesitas

No es un listado al azar: cada camino responde una pregunta distinta y te dice por qué.

Otra forma de comprenderlo

✦ Explorar el universo completo
Explora temas relacionados

Conceptos

Comentarios

Inicia sesión para comentar.

Todavía no hay comentarios. Sé la primera persona en opinar.