Introducción a NumPy de Python
Python tiene una gran cantidad de usos en diferentes áreas, así que para aprovecharlo al máximo en áreas de cómputo científico se necesitan herramientas especializadas, y para ello acudimos a la librería NumPy.
NumPy es una librería de código abierto cuyo objetivo es permitir el cómputo numérico en Python; proporciona el poder computacional de otros lenguajes como C y Fortran en Python. Al igual que el lenguaje de programación en sí, la librería tiene una sintaxis clara y fácil de entender. [1]
En Python se suelen usar listas y diccionarios para guardar datos, pero para trabajar sobre los elementos de una lista es necesario iterar sobre ellos, algo ineficiente. NumPy tiene una solución para esto: ndarray. Este es similar a las listas en que permiten guardar una gran cantidad de datos, pero ndarray sacrifica flexibilidad para guardar varios tipos de datos al mismo tiempo para mejorar los tiempos de ejecución. [2]
Aunque su nombre es ndarray, se le suele llamar simplemente array. Una de las propiedades clave de un array es su tamaño, en el sentido de cuántos datos tiene en cada una de sus dimensiones. Debido al uso con datos multidimensionales, es difícil visualizar los datos y tenerlo en mente al escribir funciones y enviar datos en la manera que esperan. Para esto existe la propiedad shape, que nos da una tupla con el tamaño de cada dimensión de un arreglo. Es importante recordar el tamaño de los datos que se están usando, sin importar si estamos trabajando con vectores, matrices o cualquier otra dimensionalidad. [3]
Debido a su eficiencia y versatilidad, muchas otras librerías de Python están basadas en NumPy para agregar capacidades imposibles para NumPy base. Las principales áreas que hacen uso de NumPy son: [1]
· Ciencia de Datos: NumPy es el centro de un gran ecosistema de librerías para ciencia de datos; para extracción pandas, para análisis Matplotlib, para modelado scikit-learn y para reporte en dashboard Dash.
· Machine Learning: NumPy es la base de librerías de aprendizaje de máquinas como scikit-learn y SciPy. Con el avance de esta área ha crecido la cantidad de librerías que se apoyan en NumPy, como TensorFlow, PyTorch y MXNet.
· Visualización: El procesamiento acelerado de arrays grandes permite la visualización de conjuntos de datos mucho más grandes de lo posible con Python por sí solo, por lo que es un componente esencial en librerías como Matplotlib, Seaborn, Plotly, Bokeh, etc.
Sin importar la cantidad o dimensionalidad de datos, NumPy nos ofrece herramientas para trabajar con ellos: ya sea para ordenar, filtrar, guardar o modificar. Se recomienda visitar el sitio de oficial de NumPy (aquí) para conocer más al respecto.
Lic. Luis Roberto Bustos Vargas
Fuentes
[1] NumPy. (s.f.). Recuperado en Julio de 2021, de NumPy: https://numpy.org/
[2] Bressert, E. (2012). SciPy and NumPy: an overview for developers.
[3] Palo, R. (11 de Enero de 2021). NumPy Tutorial: Your First Steps Into Data Science in Python. Obtenido de Real Python: https://realpython.com/numpy-tutorial/#getting-into-shape-array-shapes-and-axes