Qué es Pandas en Python y cómo analizar datos desde cero

D
DanisCh
(Actualizado: ) • 7 min de lectura
Qué es Pandas en Python y cómo analizar datos desde cero
Python

Si alguna vez has trabajado con hojas de cálculo en Excel o Google Sheets, ya tienes una idea de lo que hace Pandas. Esta biblioteca de Python te permite manipular, analizar y transformar datos de forma eficiente, todo desde código. Es una de las herramientas más usadas en ciencia de datos, análisis financiero, inteligencia artificial y desarrollo backend.

En esta guía aprenderás qué es Pandas, cómo instalarlo, y cómo empezar a analizar datos desde cero, aunque nunca lo hayas usado antes.

¿Qué es Pandas?

Pandas es una biblioteca de código abierto para Python, diseñada específicamente para el análisis y la manipulación de datos. Su nombre proviene de Panel Data, un término del análisis econométrico.

Con Pandas puedes:

  • Cargar datos desde archivos CSV, Excel, JSON, bases de datos SQL y más.
  • Limpiar datos con valores nulos, duplicados o mal formateados.
  • Filtrar, ordenar y agrupar información.
  • Realizar operaciones estadísticas básicas con pocas líneas de código.
  • Preparar datos para modelos de machine learning.

Fue creada por Wes McKinney en 2008 y hoy es mantenida por una gran comunidad de desarrolladores. Es considerada esencial en cualquier flujo de trabajo de datos con Python.

Instalación de Pandas

Antes de empezar, necesitas tener Python instalado en tu computadora. Si aún no lo tienes, puedes revisar nuestra guía sobre cómo instalar Python paso a paso.

Una vez que tengas Python listo, instala Pandas con el siguiente comando en tu terminal:

pip install pandas

También puedes instalar junto a otras herramientas comunes para análisis de datos:

pip install pandas numpy matplotlib

Para verificar que la instalación fue exitosa, abre Python y ejecuta:

import pandas as pd
print(pd.__version__)

Si ves un número de versión en pantalla, todo está funcionando correctamente.

Las dos estructuras principales de Pandas

Pandas trabaja con dos estructuras de datos fundamentales: la Serie y el DataFrame.

Serie (Series)

Una Serie es como una columna de datos. Es una lista de valores con un índice asociado.

import pandas as pd

edades = pd.Series([25, 30, 22, 35])
print(edades)

Resultado:

0    25
1    30
2    22
3    35
dtype: int64

Puedes personalizar el índice para que sea más descriptivo:

edades = pd.Series([25, 30, 22, 35], index=["Ana", "Luis", "María", "Carlos"])
print(edades["Luis"])  # 30

DataFrame

Un DataFrame es la estructura más usada en Pandas. Piensa en él como una tabla con filas y columnas, similar a una hoja de Excel.

datos = {
    "nombre": ["Ana", "Luis", "María", "Carlos"],
    "edad": [25, 30, 22, 35],
    "ciudad": ["Madrid", "Buenos Aires", "Lima", "Bogotá"]
}

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

Resultado:

   nombre  edad        ciudad
0     Ana    25        Madrid
1    Luis    30  Buenos Aires
2   María    22          Lima
3  Carlos    35        Bogotá

Cargar datos desde archivos

En proyectos reales, los datos no siempre se escriben a mano. Pandas puede leer archivos de distintos formatos con mucha facilidad.

Leer un archivo CSV

df = pd.read_csv("datos.csv")
print(df.head())

El método head() muestra las primeras 5 filas del DataFrame, lo cual es útil para explorar rápidamente el contenido.

Leer un archivo Excel

df = pd.read_excel("datos.xlsx", sheet_name="Hoja1")

Leer datos desde una URL

url = "https://ejemplo.com/datos.csv"
df = pd.read_csv(url)

Explorar un DataFrame

Una vez cargados los datos, lo primero es explorarlos para entender su estructura.

# Primeras filas
df.head()

# Últimas filas
df.tail()

# Número de filas y columnas
df.shape

# Nombre de las columnas
df.columns

# Tipos de datos de cada columna
df.dtypes

# Resumen estadístico
df.describe()

# Información general del DataFrame
df.info()

Estos métodos son el punto de partida de cualquier análisis. Te permiten entender cuántos datos tienes, qué tipos de valores contienen las columnas y si hay valores nulos.

Seleccionar datos

Pandas ofrece varias formas de acceder a los datos que necesitas.

Seleccionar una columna

print(df["nombre"])
# o también:
print(df.nombre)

Seleccionar varias columnas

print(df[["nombre", "ciudad"]])

Seleccionar por posición con iloc

# Fila 0
print(df.iloc[0])

# Filas 0 a 2, columnas 0 y 1
print(df.iloc[0:3, 0:2])

Seleccionar por etiqueta con loc

# Fila con índice 1
print(df.loc[1])

# Filas 0 a 2, columnas "nombre" y "edad"
print(df.loc[0:2, ["nombre", "edad"]])

Filtrar datos

El filtrado te permite quedarte solo con las filas que cumplen una condición.

# Personas mayores de 25 años
mayores = df[df["edad"] > 25]
print(mayores)

# Personas de Lima
lima = df[df["ciudad"] == "Lima"]
print(lima)

# Condiciones múltiples
resultado = df[(df["edad"] > 22) & (df["ciudad"] != "Madrid")]
print(resultado)

Agregar y modificar columnas

Puedes crear nuevas columnas o modificar las existentes de forma sencilla.

# Agregar una nueva columna
df["mayor_de_edad"] = df["edad"] >= 18

# Modificar una columna existente
df["nombre"] = df["nombre"].str.upper()

print(df)

Manejar valores nulos

Los datos del mundo real suelen tener valores faltantes. Pandas los representa como NaN (Not a Number).

# Detectar valores nulos
print(df.isnull())

# Contar nulos por columna
print(df.isnull().sum())

# Eliminar filas con valores nulos
df_limpio = df.dropna()

# Rellenar valores nulos con un valor específico
df_relleno = df.fillna("Desconocido")

# Rellenar con la media de la columna
df["edad"] = df["edad"].fillna(df["edad"].mean())

Ordenar y agrupar datos

Ordenar

# Ordenar por edad de menor a mayor
df_ordenado = df.sort_values("edad")

# Ordenar de mayor a menor
df_ordenado = df.sort_values("edad", ascending=False)

Agrupar con groupby

El método groupby es uno de los más poderosos de Pandas. Funciona de forma similar a un GROUP BY de SQL.

datos = {
    "ciudad": ["Madrid", "Lima", "Lima", "Madrid", "Bogotá"],
    "ventas": [1200, 800, 950, 1500, 700]
}

df = pd.DataFrame(datos)

# Promedio de ventas por ciudad
promedio = df.groupby("ciudad")["ventas"].mean()
print(promedio)

# Total de ventas por ciudad
total = df.groupby("ciudad")["ventas"].sum()
print(total)

Operaciones estadísticas básicas

Pandas incluye muchas funciones estadísticas listas para usar.

print(df["ventas"].mean())    # Promedio
print(df["ventas"].median())  # Mediana
print(df["ventas"].std())     # Desviación estándar
print(df["ventas"].min())     # Valor mínimo
print(df["ventas"].max())     # Valor máximo
print(df["ventas"].sum())     # Suma total
print(df["ventas"].count())   # Número de valores no nulos

Guardar los resultados

Después de procesar los datos, es común guardarlos en un nuevo archivo.

# Guardar como CSV
df.to_csv("resultado.csv", index=False)

# Guardar como Excel
df.to_excel("resultado.xlsx", index=False)

# Guardar como JSON
df.to_json("resultado.json", orient="records")

El parámetro index=False evita que Pandas guarde el índice numérico como una columna extra en el archivo.

Ejemplo práctico completo

Veamos un ejemplo que combina todo lo aprendido. Supongamos que tienes un archivo CSV con datos de ventas y quieres analizarlo:

import pandas as pd

# Cargar datos
df = pd.read_csv("ventas.csv")

# Explorar
print(df.shape)
print(df.head())
print(df.isnull().sum())

# Limpiar valores nulos
df = df.dropna(subset=["producto", "precio"])
df["cantidad"] = df["cantidad"].fillna(0)

# Crear columna de total
df["total"] = df["precio"] * df["cantidad"]

# Análisis por categoría
resumen = df.groupby("categoria")["total"].sum().sort_values(ascending=False)
print(resumen)

# Guardar resultado
resumen.to_csv("resumen_ventas.csv")

Con unas pocas líneas de código, puedes cargar, limpiar, transformar y resumir datos de forma eficiente.

Conceptos que deberías aprender a continuación

Una vez que domines los fundamentos de Pandas, hay temas que complementan muy bien lo aprendido:

  • NumPy: la biblioteca de cálculo numérico que usa Pandas internamente.
  • Matplotlib y Seaborn: para crear gráficas y visualizaciones de los datos.
  • Scikit-learn: para aplicar algoritmos de machine learning a los datos que ya sabes limpiar.
  • SQL: muchos conceptos de Pandas tienen equivalente en SQL. Conocer ambos te hace más versátil.

Conclusión

Pandas es una herramienta imprescindible para cualquier persona que trabaje con datos en Python. Con sus estructuras de Series y DataFrames, puedes cargar, explorar, limpiar, transformar y analizar información de forma rápida y legible.

Lo mejor de todo es que no necesitas ser un experto en estadística ni en programación para empezar. Con los conceptos que viste en este artículo ya puedes hacer análisis reales y útiles. La clave, como siempre en programación, es practicar con datos propios y reales.

Si estás aprendiendo Python desde cero, te recomendamos revisar nuestra sección de Python, donde encontrarás más guías como esta.

¿Te ha gustado esta entrada?

Compártela con tus compañeros para que también sigan aprendiendo.

Comunidad y Comentarios

0 COMENTARIOS

No hay comentarios todavía. Sé el primero en compartir tu opinión.

Escribe tu opinión
Respondiendo a