"""
To try the examples in the browser:
1. Type code in the input cell and press
Shift + Enter to execute
2. Or copy paste the code, and click on
the "Run" button in the toolbar
"""
# The standard way to import NumPy:
import numpy as np
# Create a 2-D array, set every second element in
# some rows and find max per row:
x = np.arange(15, dtype=np.int64).reshape(3, 5)
x[1:, ::2] = -99
x
# array([[ 0, 1, 2, 3, 4],
# [-99, 6, -99, 8, -99],
# [-99, 11, -99, 13, -99]])
x.max(axis=1)
# array([ 4, 8, 13])
# Generate normally distributed random numbers:
rng = np.random.default_rng()
samples = rng.normal(size=2500)
samples
Casi todos los cient�ficos que trabajan en Python recurren a la potencia de NumPy.
NumPy aporta la potencia de c�lculo de lenguajes como C y Fortran a Python, un lenguaje mucho m�s f�cil de aprender y utilizar. Con esta potencia viene la sencillez: una soluci�n en NumPy suele ser clara y elegante.
La API de NumPy es el punto de partida cuando se escriben librer�as para explotar hardware innovador, crear tipos de arreglos especializadas o a�adir capacidades m�s all� de lo que NumPy proporciona.
Librer�a de arreglos | Capacidades y �reas de aplicaci�n | |
Dask | Arreglos distribuidos y paralelismo avanzado para an�lisis, que permiten un rendimiento a escala. | |
CuPy | Librer�a de arreglos compatible con NumPy para c�lculo acelerado en la GPU con Python. | |
JAX | Transformaciones componibles de programas NumPy: diferenciar, vectorizar, compilaci�n justo-a-tiempo a GPU/TPU. | |
Xarray | Arreglos multidimensionales indexados y etiquetados para an�lisis y visualizaci�n avanzados. | |
Sparse | Librer�a de arreglos dispersos compatible con NumPy que se integra con el �lgebra lineal dispersa de Dask y SciPy. | |
PyTorch | Marco de aprendizaje profundo que acelera el camino desde la creaci�n de prototipos de investigaci�n hasta la implantaci�n en producci�n. | |
TensorFlow | Una plataforma integral de aprendizaje autom�tico para crear y desplegar f�cilmente aplicaciones basadas en ML. | |
Arrow | Plataforma de desarrollo multiling�e para datos y an�lisis columnares en memoria. | |
xtensor | Arreglos multidimensionales con difusi�n y computaci�n perezosa para an�lisis num�rico. | |
Awkward Array | Manipular datos similares a JSON con expresiones similares a NumPy. | |
uarray | Sistema de backend de Python que desacopla la API de la implementaci�n; unumpy proporciona una API de NumPy. | |
tensorly | Aprendizaje tensorial, �lgebra y backends para usar de manera fluida NumPy, PyTorch, TensorFlow o CuPy. |
NumPy es el n�cleo de un rico ecosistema de librer�as de ciencia de datos. Un flujo de trabajo exploratorio t�pico de ciencia de datos podr�a verse as�:
NumPy constituye la base de potentes librerías de aprendizaje automático como scikit-learn y SciPy. A medida que crece el aprendizaje automático, también lo hace la lista de librerías basadas en NumPy. Las capacidades de aprendizaje profundo de TensorFlow tienen amplias aplicaciones— entre ellas el reconocimiento de voz e imágenes, las aplicaciones basadas en texto, el análisis de series de tiempo y la detección de vídeo. PyTorch, otra librería de aprendizaje profundo, es popular entre los investigadores de visión artificial y procesamiento del lenguaje natural.
Las técnicas estadísticas denominadas métodos ensemble, como binning, bagging, stacking y boosting, se encuentran entre los algoritmos de ML implementados por herramientas como XGBoost, LightGBM y CatBoost — uno de los motores de inferencia más rápidos. Yellowbrick y Eli5 ofrecen visualizaciones de aprendizaje automático.
NumPy es un componente esencial en el floreciente panorama de visualizaci�n de Python, que incluye Matplotlib, Seaborn, Plotly, Altair, Bokeh, Holoviz, Vispy, Napari, y PyVista, por nombrar algunos.
El procesamiento acelerado de arreglos de gran tama�o de NumPy permite a los investigadores visualizar conjuntos de datos mucho mayores a los que el Python nativo podr�a manejar.