6 - Listas de Python vs. Arreglos de Numpy
Lección 6 del curso NumPy para Ciencia de Datos y Machine Learning.
Tabla de contenido
Introducción
En la lección anterior vimos las diferentes funciones de NumPy que facilitan la creación de arreglos, como zeros
, ones
, full
, arange
y linspace
.
Y como lo mencionamos en la primera lección del curso, cuando vimos qué es NumPy, a pesar de que en Python también podemos usar las listas para almacenar y procesar arreglos, por tratarse de un lenguaje de programación genérico este procesamiento no será eficiente.
Por el contrario, NumPy es una librería diseñada específicamente para el procesamiento avanzado de arreglos, lo que la hace mucho más eficiente que Python al momento de operar sobre este tipo de datos.
En esta lección veremos un comparativo en el tiempo de cómputo requerido para procesar arreglos usando Python y NumPy.
Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Tiempo de cómputo: Python vs. NumPy
Para realizar este comparativo crearemos listas de Python y arreglos de NumPy idénticos y con diferentes tamaños (10, 100, 1.000, 10.000, 100.000 y 1’000.000 de elementos) y en cada caso calcularemos el tiempo requerido para sumar sus elementos.
Para calcular dichos tiempos de cómputo usaremos el módulo timeit
incluido en la [librería estándar de Python].
Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Tras realizar este comparativo podemos ver que los tiempos de cómputo son similares cuando los tamaños de los arreglos son relativamente “pequeños” (10, 100 o incluso 1.000 elementos).
Pero la diferencia significativa se pone en evidencia a medida que los arreglos son cada vez más grandes: para arreglos con 10.000 elementos NumPy es aproximadamente 8 veces más rápido que Python, mientras que con arreglos de entre 100.000 y 1’000.000 de elementos este factor de incremento en la velocidad de cómputo es de entre 15 y 20 veces.
Conclusión
Con este sencillo ejemplo hemos podido comprobar que a medida que el tamaño de los arreglos a procesar se incrementa se hace más evidente la ventaja de usar NumPy que genera velocidades de cómputo entre 8 y 20 veces menores que las obtenidas al usar Python.
Y con esto cerramos este segundo módulo del curso, donde hemos visto los elementos básicos relacionados con los arreglos en NumPy.
En el tercer módulo nos enfocaremos en cómo usar NumPy para realizar operaciones avanzadas sobre diferentes tipos de arreglos. Y en particular en la próxima lección veremos lo que se conocen como los operadores de arreglos en NumPy.