Pandas en Python: guía completa para principiantes

Publicado el: 11/07/2026
Tempo de leitura: 3 minutos
Mesa de trabalho com laptop exibindo gráficos e a logo do Pandas em primeiro plano

Pandas en Python es una de las herramientas más utilizadas para trabajar con datos tabulares. Permite importar archivos, seleccionar columnas, filtrar filas, limpiar valores ausentes, agrupar información y exportar resultados mediante objetos llamados Series y DataFrame.

En esta guía aprenderás el flujo básico de Pandas desde la instalación hasta un pequeño análisis completo. La sección oficial Getting started de Pandas ofrece tutoriales introductorios, y la guía oficial de usuario documenta las operaciones avanzadas.

Instalar e importar Pandas

python -m pip install pandas
import pandas as pd

print(pd.__version__)

Utiliza un entorno virtual para evitar conflictos entre proyectos. La guía de venv en Python explica el proceso.

Crear una Series

import pandas as pd

ventas = pd.Series(
    [1200, 950, 1430],
    index=["enero", "febrero", "marzo"],
    name="ventas",
)

print(ventas)
print(ventas["febrero"])

Una Series representa una colección unidimensional con etiquetas.

Crear un DataFrame

datos = {
    "producto": ["Teclado", "Ratón", "Monitor"],
    "cantidad": [4, 8, 2],
    "precio": [45.0, 20.0, 210.0],
}

df = pd.DataFrame(datos)
print(df)

Un DataFrame organiza columnas con nombres y filas indexadas. Los diccionarios son una forma frecuente de construirlo; consulta la guía de diccionarios en Python para repasar esta estructura.

Leer CSV y Excel

ventas_csv = pd.read_csv("ventas.csv")
ventas_excel = pd.read_excel(
    "ventas.xlsx",
    sheet_name="Datos",
)

Para archivos CSV, revisa la guía de CSV en Python. Para seleccionar hojas, columnas y motores de Excel, consulta cómo importar Excel con Pandas.

Inspeccionar los datos

print(df.head())
print(df.tail())
print(df.shape)
print(df.columns)
print(df.dtypes)
print(df.info())
print(df.describe())

Inspecciona siempre antes de limpiar. Los tipos inferidos pueden no coincidir con el significado real de una columna.

Seleccionar columnas

productos = df["producto"]
resumen = df[["producto", "precio"]]

Seleccionar filas con loc e iloc

primera_fila = df.iloc[0]
primeras_dos = df.iloc[:2]

productos_caros = df.loc[
    df["precio"] > 40,
    ["producto", "precio"],
]

iloc usa posiciones enteras. loc usa etiquetas y condiciones.

Filtrar datos

filtro = (
    (df["cantidad"] >= 3)
    & (df["precio"] < 100)
)

seleccion = df[filtro]

Usa &, | y ~ con condiciones entre paréntesis. Los operadores booleanos normales and y or no funcionan elemento por elemento en una Series.

Crear y modificar columnas

df["total"] = df["cantidad"] * df["precio"]
df["producto"] = df["producto"].str.strip().str.title()

Las operaciones vectorizadas suelen ser más claras y rápidas que recorrer fila por fila.

Valores ausentes

print(df.isna().sum())

df["cantidad"] = df["cantidad"].fillna(0)
df = df.dropna(subset=["producto"])

Antes de rellenar, define qué significa la ausencia. Cero, cadena vacía y dato desconocido no son equivalentes.

Convertir tipos

df["cantidad"] = pd.to_numeric(
    df["cantidad"],
    errors="coerce",
).astype("Int64")

df["fecha"] = pd.to_datetime(
    df["fecha"],
    errors="coerce",
)

errors="coerce" convierte valores inválidos en ausentes, que después deben revisarse.

Agrupar y resumir

resumen = (
    df.groupby("categoria", as_index=False)
    .agg(
        ventas_totales=("total", "sum"),
        precio_medio=("precio", "mean"),
        registros=("producto", "count"),
    )
    .sort_values("ventas_totales", ascending=False)
)

La guía de análisis de datos con Pandas y NumPy amplía agrupaciones, limpieza y flujos completos.

Combinar DataFrames

ventas = pd.DataFrame({
    "producto_id": [1, 2, 1],
    "cantidad": [3, 2, 4],
})

productos = pd.DataFrame({
    "producto_id": [1, 2],
    "nombre": ["Teclado", "Ratón"],
})

resultado = ventas.merge(
    productos,
    on="producto_id",
    how="left",
)

Verifica siempre la unicidad de las claves. Un merge con duplicados inesperados puede multiplicar filas.

Ordenar y eliminar duplicados

df = df.sort_values(
    ["categoria", "precio"],
    ascending=[True, False],
)

df = df.drop_duplicates(
    subset=["producto", "fecha"],
    keep="last",
)

Exportar resultados

df.to_csv(
    "ventas_limpias.csv",
    index=False,
    encoding="utf-8",
)

resumen.to_excel(
    "resumen.xlsx",
    index=False,
)

Proyecto práctico

import pandas as pd


def crear_resumen(ruta_origen, ruta_destino):
    df = pd.read_csv(ruta_origen)

    requeridas = {
        "producto",
        "categoria",
        "cantidad",
        "precio",
    }
    faltantes = requeridas - set(df.columns)

    if faltantes:
        raise ValueError(
            f"Faltan columnas: {sorted(faltantes)}"
        )

    df["cantidad"] = pd.to_numeric(
        df["cantidad"],
        errors="coerce",
    )
    df["precio"] = pd.to_numeric(
        df["precio"],
        errors="coerce",
    )

    df = df.dropna(
        subset=["producto", "cantidad", "precio"]
    )
    df = df[
        (df["cantidad"] >= 0)
        & (df["precio"] >= 0)
    ].copy()
    df["total"] = df["cantidad"] * df["precio"]

    resumen = (
        df.groupby("categoria", as_index=False)["total"]
        .sum()
        .sort_values("total", ascending=False)
    )
    resumen.to_csv(ruta_destino, index=False)
    return resumen

Errores frecuentes

  • Modificar una vista sin usar .copy().
  • Confiar en tipos inferidos sin inspeccionarlos.
  • Rellenar todos los ausentes con el mismo valor.
  • Usar bucles fila por fila para operaciones vectorizables.
  • Realizar un merge sin validar claves y cardinalidad.
  • Cargar columnas innecesarias de archivos enormes.
  • Sobrescribir el archivo original antes de revisar el resultado.

Conclusión

Pandas en Python ofrece un flujo consistente para importar, inspeccionar, limpiar, transformar, agrupar y exportar datos. Empieza verificando columnas y tipos, aplica reglas explícitas para valores ausentes y conserva una copia del origen. La productividad de Pandas aumenta cuando el proceso es reproducible y cada transformación puede explicarse.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Contenido del artículo

    Artículos relacionados

    Pessoa programando em um notebook, vista de trás, com código desfocado exibido na tela em um fundo escuro
    Buenas Prácticas
    Foto de perfil de Leandro Hirt da Academify

    Docstrings en Python: cómo documentar tu código

    Aprende docstrings en Python para funciones, clases y módulos: parámetros, retornos, excepciones, ejemplos, PEP 257, pydoc y buenas prácticas.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    Logo do Python com o texto 'PEP 8' sobre fundo azul escuro, representando o guia de estilo da linguagem
    Buenas Prácticas
    Foto de perfil de Leandro Hirt da Academify

    PEP 8 en Python: guía para escribir código limpio

    Aprende PEP 8 en Python: nombres, sangría, imports, espacios, líneas, funciones, comentarios, docstrings, linters y refactorización.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    Código Python com valores Boolean True e False em tela de computador
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Booleanos en Python: True, False y lógica

    Aprende booleanos en Python con True, False, comparaciones, operadores lógicos, valores truthy y falsy, cortocircuito y validación.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Símbolo de repetição ao lado do logotipo do Python pensativo, representando o conceito de loops na programação em Python.
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Bucles en Python: for, while, break y continue

    Aprende bucles en Python con for, while, range, enumerate, zip, break, continue, else, validación y ejemplos prácticos.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Código Python mostrando uma função recursiva de fatorial com condição if e chamada da função dentro dela
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Recursión en Python: guía práctica con ejemplos

    Aprende recursión en Python con casos base, pila de llamadas, factorial, árboles, directorios, memoización, límites y alternativas iterativas.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Logos do Python e Excel lado a lado representando a importação de dados do Excel para Python.
    Automatización y Scripts
    Foto de perfil de Leandro Hirt da Academify

    Cómo importar archivos Excel en Python con Pandas

    Importa archivos Excel en Python con Pandas y openpyxl: hojas, columnas, tipos, fechas, valores ausentes, limpieza y exportación.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026