Pandas es una de las bibliotecas más populares y poderosas para el análisis y manipulación de datos en Python. Su nombre deriva de Panel Data (datos de panel), y se ha convertido en una herramienta fundamental para científicos de datos, analistas y desarrolladores en todo el mundo.
Pandas es una librería de código abierto desarrollada para facilitar el análisis de datos. Combina la simplicidad de uso con un gran rendimiento y flexibilidad, permitiendo transformar, analizar y manipular datos en Python. Sus principales estructuras de datos son:
Pandas# Usando pip
pip install pandas
# Usando conda
conda install pandas Un DataFrame en pandas es una estructura de datos bidimensional (filas y columnas) que permite almacenar y manipular datos de manera similar a una tabla de Excel o SQL. Es la estructura principal en pandas para el análisis de datos, ya que permite aplicar operaciones de filtrado, selección, agrupación y mucho más sobre los datos de forma eficiente.
import pandas as pd
# Crear un DataFrame
data = {
'Nombre': ['Ana', 'Juan', 'María'],
'Edad': [25, 30, 28],
'Ciudad': ['Madrid', 'Barcelona', 'Sevilla']
}
df = pd.DataFrame(data) Una Series en pandas es una estructura de datos unidimensional, similar a una columna en una tabla, que puede contener datos de cualquier tipo (números, texto, fechas, etc.). Cada valor en una Series tiene un índice asociado, lo que facilita la selección y el acceso a los datos. Es ideal para manejar y analizar datos de una sola columna.
# Crear una Series
edades = pd.Series([25, 30, 28], name='Edad') # Leer CSV, los archivos CSV son los más comunes para datos tabulares.
df = pd.read_csv('datos.csv')
# Leer Excel
df = pd.read_excel('datos.xlsx')
# Leer JSON, los JSON tiene estructuras más flexibles.
df = pd.read_json('datos.json') # Primeras filas
df.head()
# Información del DataFrame
df.info()
# Estadísticas descriptivas
df.describe()
# Dimensiones
df.shape # Seleccionar columna
df['Nombre']
# Seleccionar múltiples columnas
df[['Nombre', 'Edad']]
# Filtrar datos
mayores_25 = df[df['Edad'] > 25] # Añadir nueva columna
df['Año_Nacimiento'] = 2024 - df['Edad']
# Modificar valores
df['Ciudad'] = df['Ciudad'].str.upper()
# Rellenar valores nulos
df.fillna(0) # Agrupar por ciudad y calcular media de edad
df.groupby('Ciudad')['Edad'].mean()
# Múltiples agregaciones
df.groupby('Ciudad').agg({
'Edad': ['mean', 'max', 'min'],
'Nombre': 'count'
}) # Crear índice temporal
df['Fecha'] = pd.date_range(start='2024-01-01', periods=len(df))
df.set_index('Fecha', inplace=True)
# Remuestreo temporal
df.resample('M').mean() # Promedios mensuales # Calcular rendimientos diarios
rendimientos = df['Precio'].pct_change()
# Media móvil de 30 días
media_movil = df['Precio'].rolling(window=30).mean() # Ventas totales por categoría y mes
ventas_mensuales = df.groupby(['Mes', 'Categoría'])['Ventas'].sum()
# Top 5 productos más vendidos
top_productos = df.groupby('Producto')['Cantidad'].sum().nlargest(5) # Eliminar duplicados
df.drop_duplicates()
# Manejar valores faltantes
df.dropna() # Eliminar filas con valores nulos
df.fillna(method='ffill') # Rellenar con el valor anterior Rendimiento
Limpieza de Datos
Organización del Código
Pandas es una herramienta poderosa para el análisis de datos en Python. Facilita la manipulación, limpieza y análisis de grandes conjuntos de datos, y se ha convertido en una de las bibliotecas esenciales en la ciencia de datos. Con su ayuda, puedes transformar datos crudos en información útil para la toma de decisiones o para alimentar modelos de Machine Learning.