Pandas es la librería externa de facto en Python para la manipulación, limpieza y análisis de datos. Su nombre proviene de Panel Data (término econométrico para datos multidimensionales) y está construida sobre NumPy, lo que la hace extremadamente rápida y eficiente para manejar grandes volúmenes de información en forma de tablas.
pip install pandas
onimport pandas as pd
# Crear un diccionario
datos = {
'Producto':['Laptop','Mouse','Teclado','Monitor'],
'Precio':,
'Stock':[15,100,50,0]
}
# Crear un DataFrame usando un diccionario
df = pd.DataFrame(datos)
# Mostrar las primeras filas
print(df.head(2))
# Obtener estadísticas rápidas de las columnas numéricas
print(df.describe())
Pandas permite importar archivos CSV, Excel, SQL o JSON con una sola línea.
import pandas as pd
# Cargar un archivo (simulación)
# df = pd.read_csv("ventas.csv")
# 1. Filtrar: Obtener solo productos con precio mayor a 40 y que tengan Stock
productos_caros = df[(df['Precio'] > 40) & (df['Stock'] > 0)]
# 2. Seleccionar columnas específicas
solo_nombres = df['Producto']
# 3. Acceder por etiquetas (loc) o posiciones (iloc)
# Obtiene la fila en la posición 0
primera_fila = df.iloc[0]
Una de las herramientas más potentes para resumir datos, equivalente a las tablas dinámicas de Excel.
import pandas as pd
# DataFrame de empleados
empleados = pd.DataFrame({
'Departamento': ['IT','Ventas','IT','Ventas','RRHH'],
'Salario':,
'Bonos': [500,None,400,300,None] # Datos faltantes (NaN)
})
# Limpieza: Reemplazar valores nulos (NaN) con 0
empleados['Bonos'] = empleados['Bonos'].fillna(0)
# Agrupar: Calcular el salario promedio por Departamento
salario_promedio = empleados.groupby('Departamento')['Salario'].mean()
print(salario_promedio)
Como se mencionó anteriormente, Pandas y Plotly se integran a la perfección. Plotly Express puede leer directamente un DataFrame de Pandas para generar gráficos interactivos en segundos.
import plotly.express as px # Plotly toma las columnas 'Producto' y 'Precio' directamente del DataFrame de Pandas fig = px.bar(df,x='Producto',y='Precio',title='Precios por Producto') fig.show()