Si hay una herramienta que define el análisis de datos con Python, es pandas. Es la librería más usada para manipular, limpiar y explorar datos, y es el punto de partida de cualquier analista de datos que trabaja con Python.
¿Qué es pandas?
pandas es una librería de Python que proporciona estructuras de datos y herramientas para el análisis de datos. Su estructura central es el DataFrame — una tabla de datos con filas y columnas, similar a una hoja de cálculo o una tabla SQL, pero que puedes manipular con código.
Instalar pandas
pip install pandas
Importar pandas
import pandas as pd
La convención es importarla con el alias pd.
Crear un DataFrame
import pandas as pd
datos = {
'nombre': ['Ana', 'Carlos', 'María', 'Luis'],
'edad': [28, 35, 42, 29],
'ciudad': ['Santiago', 'Lima', 'Bogotá', 'Buenos Aires'],
'salario': [3000, 2800, 4500, 3200]
}
df = pd.DataFrame(datos)
print(df)
| nombre | edad | ciudad | salario | |
|---|---|---|---|---|
| 0 | Ana | 28 | Santiago | 3000 |
| 1 | Carlos | 35 | Lima | 2800 |
| 2 | María | 42 | Bogotá | 4500 |
| 3 | Luis | 29 | Buenos Aires | 3200 |
Explorar el DataFrame
print(df.shape) # (4, 4) — 4 filas, 4 columnas
print(df.dtypes) # tipos de cada columna
print(df.head(2)) # primeras 2 filas
print(df.tail(2)) # últimas 2 filas
print(df.describe()) # estadísticas básicas de columnas numéricas
print(df.info()) # resumen general con tipos y valores nulos
Acceder a columnas y filas
# Una columna (devuelve una Serie)
print(df['nombre'])
# Varias columnas (devuelve un DataFrame)
print(df[['nombre', 'salario']])
# Filtrar filas por condición
mayores_de_30 = df[df['edad'] > 30]
print(mayores_de_30)
Series: la otra estructura de pandas
Una Serie es como una columna individual — un array con índice:
salarios = pd.Series([3000, 2800, 4500, 3200], name='salario')
print(salarios.mean()) # 3375.0
print(salarios.max()) # 4500
print(salarios.min()) # 2800
Operaciones básicas
# Nueva columna calculada
df['bono'] = df['salario'] * 0.10
# Renombrar columna
df = df.rename(columns={'ciudad': 'region'})
# Ordenar
df_ordenado = df.sort_values('salario', ascending=False)
# Contar valores únicos
print(df['ciudad'].value_counts())
Errores frecuentes
Olvidar importar pandas: parece obvio, pero import pandas as pd debe estar al inicio.
Confundir Series con DataFrame: una columna sola es una Serie. Al filtrar con df['columna'] obtienes una Serie. Con df[['columna']] obtienes un DataFrame de una columna.
Modificar sin guardar: df.sort_values('edad') devuelve un nuevo DataFrame ordenado pero no modifica el original. Debes guardarlo: df = df.sort_values('edad') o usar inplace=True.
Aprende haciendo, no solo leyendo
Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de SQL y recibes corrección inmediata de IA.
Comenzar gratis →