• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
      • Ajuste de Curvas
      • Calculadora de Matrices
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Calculadora XIRR con Flujos Irregulares
      • Simulador FIRE (Financial Independence, Retire Early)
    • Negocios
      • CLV
      • Scoring
    • Herramientas
      • Formateador / Minificador de JSON
      • Conversor CSV ↔ JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Optimizar el uso de memoria en Pandas con memory_usage

diciembre 11, 2023 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 3 minutos

Al trabajar con grandes conjuntos de datos conocer el espacio ocupa en memoria cada una de las características es clave. Especialmente cuando es necesario eliminar características para reducir el tamaño ocupado. La forma para obtener esta información en los DataFrame de Python es mediante el método memory_usage(), el cual permite evaluar y optimizar el uso de memoria en Pandas. En esta entrada se analizará cómo utilizar este método y se explicará por qué algunos datos pueden ocupar más espacio que otros.

El método memory_usage

En los DataFrame de Pandas, el método memory_usage() permite analizar el consumo de memoria que realiza cada una de las series del conjunto de datos. Información que se puede utilizar para reducir la huella de memoria. Algo que es especialmente útil cuando se trabaja con grandes conjuntos de datos y es necesario optimizar el rendimiento de los análisis y aplicaciones.

El método se puede llamar tal cual, simplemente escribiendo df.memory_usage(), donde df es el DataFrame que se desea analizar. Pero, en el caso de contar con objetos complejos, solamente ofrece una aproximación del uso de memoria. Para conseguir un análisis más preciso del uso de memoria se puede asignar en valor verdadero al parámetro deep, esto es llamar al método df.memory_usage(deep=True). Cuando se activa la opción deep evaluará el uso de memoria que hacen todos los registros del conjunto de datos.

La caverna del consumo, o cómo Greenspan miraba calzoncillos para hacer política monetaria – El bestiario de los indicadores económicos absurdos (parte 1)
En Analytics Lane
La caverna del consumo, o cómo Greenspan miraba calzoncillos para hacer política monetaria – El bestiario de los indicadores económicos absurdos (parte 1)

Ejemplo de uso con el conjunto de datos “tips” de Seaborn

La mejor manera de comprender el uso de memory_usage() es mediante un ejemplo práctico, para ello se usará el conjunto de datos “tips” de la biblioteca Seaborn. Para ello se debe importar la librería y cargar los datos. Una vez hecho esto, se puede llamar al método para conocer cuál es el uso de memoria de cada una de las columnas. Lo que se muestra en el siguiente ejemplo.

import seaborn as sns
import pandas as pd

# Cargar el conjunto de datos de ejemplo de Seaborn
tips = sns.load_dataset('tips')

# Obtener el uso de memoria del DataFrame
tips.memory_usage()
Index          132
total_bill    1952
tip           1952
sex            368
smoker         368
day            448
time           368
size          1952
dtype: int64

En donde se puede ver como las columnas que más espacio ocupan son total_bill, tip y size, los valores reales. Pero, como se ha comentado antes, esto es una aproximación si se indica la opción deep=True en el método los resultados cambiarán.

# Obtener el uso de memoria en detalle del DataFrame
tips.memory_usage(deep=True)
Index          132
total_bill    1952
tip           1952
sex            476
smoker         471
day            657
time           477
size          1952
dtype: int64

Nótese como para las columnas que son de tipo texto el valor cambia, esto es así porque en caso anterior solamente utilizo algunos valores para calcular el tamaño. Lo que ofrece una aproximación, pero no un valor exacto.

Publicidad


Identificando las columnas que más memoria consumen

El resultado obtenido en la sección anterior se puede utilizar para identificar las columnas que más memoria consumen. En el caso anterior el conjunto de datos era pequeño y esto se puede hacer a mano, pero en uno con más columnas lo mejor es ordenar los resultados. Lo que se puede conseguir mediante el método sort_values().

# Obtener el uso de memoria del DataFrame ordenado
tips.memory_usage(deep=True).sort_values(ascending=False)
total_bill    1952
tip           1952
size          1952
day            657
time           477
sex            476
smoker         471
Index          132
dtype: int64

Un resultado que nos facilita la selección de las columnas que se deben eliminar.

Conclusiones

En esta entrada se ha visto el funcionamiento del método memory_usage() con el cual se puede conocer la memoria usada por cada una de las columnas de un conjunto de datos. Una información que se puede usar para optimizar el uso de memoria en Pandas.

Imagen de Cliff Smith en Pixabay

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • La caverna del consumo, o cómo Greenspan miraba calzoncillos para hacer política monetaria – El bestiario de los indicadores económicos absurdos (parte 1)
  • La vanidad del paisaje, o por qué un becario sale a contar grúas a Manhattan – El bestiario de los indicadores económicos absurdos (parte 2)
  • Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring
  • Cómo comparar tendencias con gráficos de líneas en Matplotlib: guía práctica paso a paso
  • Analytics Lane lanza la versión 1.2 del laboratorio con nuevas herramientas de ajuste de curvas y cálculo matricial
  • Subplots en Matplotlib: cómo organizar múltiples gráficos en una sola figura
  • Ley de Benford: cómo detectar datos manipulados con ejemplos reales
  • Síndrome del objeto brillante en ciencia de datos: el error simétrico a los costes hundidos
  • De la Regresión Logística al Scorecard: La Transformación Matemática

Publicado en: Python Etiquetado como: Pandas

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Noticias

Analytics Lane lanza la versión 1.2 del laboratorio con nuevas herramientas de ajuste de curvas y cálculo matricial

junio 12, 2026 Por Daniel Rodríguez

La vanidad del paisaje, o por qué un becario sale a contar grúas a Manhattan – El bestiario de los indicadores económicos absurdos (parte 2)

junio 11, 2026 Por Daniel Rodríguez

Cómo comparar tendencias con gráficos de líneas en Matplotlib: guía práctica paso a paso

junio 9, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Exactitud, precisión, recall… y los errores que cometemos al interpretarlas en proyectos reales publicado el abril 7, 2026 | en Ciencia de datos
  • pandas Pandas: Obtener el nombre de las columnas y filas en Pandas publicado el diciembre 7, 2020 | en Python
  • Método de Brent e implementación en Python publicado el abril 28, 2023 | en Ciencia de datos
  • Cómo crear gráficos con ejes secundarios en MATLAB publicado el octubre 2, 2024 | en Matlab
  • La caverna del consumo, o cómo Greenspan miraba calzoncillos para hacer política monetaria – El bestiario de los indicadores económicos absurdos (parte 1) publicado el junio 4, 2026 | en Opinión

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.9 (11)

Pandas: Cambiar los tipos de datos en los DataFrames

Comentarios recientes

  • bif en JSON en bases de datos: cuándo es buena idea y cuándo no
  • bif en Cómo desinstalar Oracle Database 19c en Windows
  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto