Cómo manejar grandes volúmenes de datos en Python desde tu computadora

A medida que las organizaciones crecen, también lo hacen sus volúmenes de datos. Sin embargo, herramientas tradicionales como Excel pueden quedarse cortas frente a archivos con millones de filas o que pesan varios gigabytes.
Si alguna vez intentaste abrir un archivo CSV enorme en Excel, es probable que te hayas encontrado con bloqueos, errores inesperados o una computadora trabajando al límite de su capacidad. Este es un desafío común al manejar datasets de grandes dimensiones.
Para simplificar el procesamiento de estos datos y resolver el problema de forma práctica y eficiente, Python se presenta como una solución ideal. Este lenguaje de programación versátil y liviano ofrece herramientas avanzadas que permiten manejar grandes volúmenes de información incluso en equipos con recursos limitados.
Instalación de Python en Mac o Windows
Antes de empezar a trabajar con datos, necesitamos instalar python en nuestra computadora.
En Windows
- Descarga Python desde la página oficial: python.org.
- Durante la instalación, marca la casilla "Add Python to PATH" (esto es clave para que funcione).
- Una vez instalado, abre la terminal (tecla Win + R, escribe cmd) y verifica. Si ves el número de versión, Python está instalado correctamente.
python --version
pip --version
En Mac
Instalación por descarga Descarga Python desde la página oficial: python.org y sigue los pasos de instalación.
Instalar Python con Homebrew
Si no tienes Homebrew, instálalo desde brew.sh. Luego, abrí la terminal y escribe:
brew install python
Verificar la instalación: Abrí la terminal y verificá que Python y pip esten funcionando:
python3 --version
pip3 --version
Instalación de la librería Pandas
Cuando trabajamos con datasets, ya sea para analizar tendencias, limpiar información o procesar grandes volúmenes de datos, necesitamos herramientas eficientes y versátiles. Pandas es una de las bibliotecas más populares en Python, ya que ofrece una solución poderosa y fácil de usar para manejar datos estructurados en diversos formatos como archivos CSV/Excel o bases de datos.
Algunas de las ventajas que hacen de Pandas una librería imprescindible son:
- Facilidad para manejar datasets grandes: Permite cargar, explorar y transformar millones de filas sin complicaciones.
- Operaciones eficientes y rápidas: Realiza cálculos, agrupaciones y operaciones complejas con gran velocidad.
- Transformaciones sencillas: Facilita la limpieza y reestructuración de datos para que sean utilizables.
- Compatibilidad con múltiples formatos: Trabaja con archivos CSV, Excel, JSON, bases de datos, entre otros.
- Exploración de datos intuitiva: Ofrece funciones simples para resumir, visualizar y comprender la información.
- Filtros y consultas poderosas: Permite buscar, filtrar y organizar datos de manera eficiente con una sintaxis fácil de entender.
Con Python ya instalado, simplemente abre tu terminal (Windows: Win + R y escribe cmd, Mac: Command + Espacio y escribe Terminal) y ejecuta el siguiente comando:
pip install pandas
Este comando descargará e instalará Pandas junto con las dependencias necesarias para comenzar a trabajar con tus datasets. Luego, para verificar la instalación podes ejecutar el siguiente comando.
import pandas as pd
print(pd.__version__)
Poniendo en práctica
Vamos a trabajar con un dataset sintético simulando las ventas de un negocio. Supongamos que tienes un archivo llamado ventas.csv con la siguiente estructura:
Fecha,Producto,Categoría,Precio,Cantidad,Vendedor
2024-01-01,Producto A,Ropa,25.00,3,Juan
2024-01-02,Producto B,Electrónica,100.00,1,Ana
2024-01-03,Producto C,Ropa,15.00,5,Pedro
2024-01-04,Producto A,Ropa,25.00,4,Juan
2024-01-05,Producto B,Electrónica,100.00,2,Ana
Cargar y explorar el dataset
Primero, verifica que el archivo ventas.csv esté en el mismo directorio que tu script de Python. Luego, escribe el siguiente código:
# Importamos la librería
import pandas as pd
# Cargamos nuestro archivo de ventas
df = pd.read_csv('ventas.csv')
# Verificamos las primeras filas
print(df.head())
Análisis de ventas por producto
Queremos saber cuántas unidades de cada producto se han vendido. Usamos el método groupby de pandas para agrupar las ventas por producto y calcular el total de ventas:
# Agrupar por producto y sumar las cantidades
ventas_por_producto = df.groupby('Producto')['Cantidad'].sum()
# Mostrar el resultado
print(ventas_por_producto)
Resultado:
Producto
Producto A 7
Producto B 3
Producto C 5
Esto nos dice que se han vendido 7 unidades de Producto A, 3 de Producto B, y 5 de Producto C.
Análisis de ingresos por producto
Ahora queremos calcular los ingresos generados por cada producto, es decir, multiplicar el precio por la cantidad vendida.
# Crear una nueva columna de ingresos (Precio * Cantidad)
df['Ingresos'] = df['Precio'] * df['Cantidad']
# Agrupar por producto y sumar los ingresos
ingresos_por_producto = df.groupby('Producto')['Ingresos'].sum()
# Mostrar el resultado
print(ingresos_por_producto)
Resultado:
Producto
Producto A 175.00
Producto B 300.00
Producto C 75.00
Acá vemos que Producto B ha generado los mayores ingresos, con un importe de 300.00.
Análisis de ventas por vendedor
Queremos saber qué vendedor ha vendido más unidades. Podemos hacerlo sumando las cantidades de ventas por cada vendedor:
# Agrupar por vendedor y sumar las cantidades
ventas_por_vendedor = df.groupby('Vendedor')['Cantidad'].sum()
# Mostrar el resultado
print(ventas_por_vendedor)
Resultado:
Vendedor
Ana 3
Juan 7
Pedro 5
Juan es el vendedor con más unidades vendidas, con un total de 7.
Filtrar ventas de un determinado rango de fechas
Si queremos analizar solo las ventas de enero de 2024, podemos filtrar por fecha. Primero, necesitamos convertir la columna de Fecha a tipo datetime y luego filtrar.
# Convertir la columna 'Fecha' a tipo datetime
df['Fecha'] = pd.to_datetime(df['Fecha'])
# Filtrar por un rango de fechas (enero 2024)
ventas_enero = df[(df['Fecha'] >= '2024-01-01') & (df['Fecha'] <= '2024-01-31')]
# Mostrar el resultado
print(ventas_enero)
Esto nos dará todas las ventas realizadas en enero de 2024. Si tuviéramos más datos, podríamos ver patrones en las ventas a lo largo del mes.
Identificar productos más vendidos
Para identificar los productos con mayor participación de venta, podemos ordenar los productos por los ingresos generados.
# Ordenar por ingresos y mostrar los más rentables
productos_rentables = ingresos_por_producto.sort_values(ascending=False)
# Mostrar el resultado
print(productos_rentables)
Resultado:
Producto
Producto B 300.00
Producto A 175.00
Producto C 75.00
Producto B es el producto con mayor participación, seguido de Producto A.
Resumen
Pandas nos permite realizar análisis de datos de manera eficiente y sencilla, transformando grandes volúmenes de información en insights valiosos para la toma de decisiones. Con este simple ejemplo, podemos ver algunas de las ventajas prácticas.
- Agrupar y resumir datos: Obtener métricas como ventas por producto o ingresos totales por vendedor.
- Filtrar y analizar datos en diferentes rangos: Identificar ventas en un mes específico o transacciones mayores a cierto monto.
- Realizar cálculos sobre datos: Calcular ingresos totales, márgenes de ganancia o costos promedio por producto.
- Ordenar y clasificar: Identificar los productos más rentables o los vendedores con mejor desempeño.
¿Cómo continuar?
Despliegue rápido
Antes de instalar python en tu computadora, podes comenzar a probarlo online desde Google Colab en donde podrás cargar tu data set o seleccionarlo desde Google Drive.
Aprender más sobre Pandas
Para conocer con mayor detalle todo el potencial que Pandas tiene para ofrecer podes leer la documentación.
Otras herramientas
Pandas es solo el comienzo, podes combinarlo con otras con otras librerís de Python para enriquecer tu análisis:
- Matplotlib y Seaborn: Para crear gráficos y visualizar datos.
- NumPy: Si necesitas realizar cálculos matemáticos o trabajar con matrices de datos.
- SQLAlchemy: Si trabajas con bases de datos y necesitas integrar consultas SQL con Pandas.
Por ejemplo, podes cargar tus datos con Pandas, analizarlos y luego visualizarlos con Seaborn para identificar patrones y tendencias.
Escalar en volumen de datos
Si estás manejando archivos que exceden la memoria de tu computadora, explora estas alternativas: