NumPy
El paquete fundamental para la computación científica con Python
¡NumPy 2.0 ha sido lanzado!
2024-06-17
Matrices N-dimensionales potentes
Rápida y versátil, la vectorización, indexación y conceptos de broadcasting de NumPy son los estándares de facto en el cálculo de matrices hoy en día.
Herramientas de cálculo numérico
NumPy ofrece funciones matemáticas completas, generadores de números aleatorios, rutinas de álgebra lineal, transformadas de Fourier, y m�s.
C�digo abierto
Distribuido bajo una [licencia BSD] liberal (https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy es desarrollado y mantenido p�blicamente en GitHub por una vibrante, receptiva y diversa comunidad.
Interoperable
NumPy soporta una amplia gama de hardware y plataformas de computaci�n, y funciona bien con librer�as distribuidas, de GPU y de matrices dispersas.
�ptimo
El n�cleo de NumPy est� optimizado adecuadamente con c�digo en C. Disfrute de la flexibilidad de Python con la velocidad del c�digo compilado.
F�cil de usar
La sintaxis de alto nivel de NumPy lo hace accesible y productivo para programadores de cualquier formaci�n o nivel de experiencia.
Prueba NumPy

Utilice el terminal interactivo para probar NumPy en el navegador

"""
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

ECOSISTEMA

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 arreglosCapacidades y �reas de aplicaci�n
DaskDaskArreglos distribuidos y paralelismo avanzado para an�lisis, que permiten un rendimiento a escala.
CuPyCuPyLibrer�a de arreglos compatible con NumPy para c�lculo acelerado en la GPU con Python.
JAXJAXTransformaciones componibles de programas NumPy: diferenciar, vectorizar, compilaci�n justo-a-tiempo a GPU/TPU.
xarrayXarrayArreglos multidimensionales indexados y etiquetados para an�lisis y visualizaci�n avanzados.
sparseSparseLibrer�a de arreglos dispersos compatible con NumPy que se integra con el �lgebra lineal dispersa de Dask y SciPy.
PyTorchPyTorchMarco de aprendizaje profundo que acelera el camino desde la creaci�n de prototipos de investigaci�n hasta la implantaci�n en producci�n.
TensorFlowTensorFlowUna plataforma integral de aprendizaje autom�tico para crear y desplegar f�cilmente aplicaciones basadas en ML.
arrowArrowPlataforma de desarrollo multiling�e para datos y an�lisis columnares en memoria.
xtensorxtensorArreglos multidimensionales con difusi�n y computaci�n perezosa para an�lisis num�rico.
awkwardAwkward ArrayManipular datos similares a JSON con expresiones similares a NumPy.
uarrayuarraySistema de backend de Python que desacopla la API de la implementaci�n; unumpy proporciona una API de NumPy.
tensorlytensorlyAprendizaje tensorial, �lgebra y backends para usar de manera fluida NumPy, PyTorch, TensorFlow o CuPy.
Diagrama de las librer�as de Python. Las cinco categor�as son "Extraer, Transformar, Cargar", "Exploraci�n de Datos", "Modelado de Datos", "Evaluaci�n de Datos" y "Presentaci�n de Datos".

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�:

Para grandes volúmenes de datos, Dask y Ray están diseñados para escalarse. Las implementaciones estables se basan en el versionado de datos (DVC), rastreo de experimentos (MLFlow), y automatización del flujo de trabajo (Airflow, Dagster y Prefect).

Diagrama de tres círculos superpuestos. Los círculos se denominan "Matemáticas", "Ciencias de la Computación" y "Conocimientos Especializados". En el centro del diagrama, con los tres círculos superpuestos, hay un área denominada "Ciencia de datos".

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.

Un diagrama de flujo hecho en matplotlib
Un diagrama de dispersión hecho en ggpy
Un diagrama de caja hecho en plotly
Un diagrama de flujo hecho en altair
Un gráfico de pares de dos tipos de gr�ficos, un gr�fico de trazado y un gr�fico de frecuencias hecho en seaborn
Un renderizado de volumen 3D realizado en PyVista.
Una imagen multidimensional hecha en napari.
Un diagrama de Voronoi hecho en vispy.

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.

CASOS DE ESTUDIO