Entumecido

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 15 de mayo de 2022; las comprobaciones requieren 3 ediciones .
entumecido
Tipo de Biblioteca Python [d] y software matemático [d]
Autor Travis Oliphant [d]
Desarrollador Travis Oliphant [d]
Escrito en Python , C [2] y Fortran
Sistema operativo Sistema operativo similar a Unix , macOS y Microsoft Windows
Primera edición 1995
ultima versión 1.23.0 [1] ( 23 de junio de 2022 )
Formatos de archivo legibles datos numéricos [d]
Formatos de archivo generados datos numéricos [d]
Licencia licencia BSD modificada [d] [3]
Sitio web numpy.org
 Archivos multimedia en Wikimedia Commons

NumPy  (abreviatura de Numerical Python ) es una biblioteca de código abierto para el lenguaje de programación Python . Capacidades:

Cita

Los algoritmos matemáticos implementados en lenguajes interpretados (por ejemplo, Python) suelen ser mucho más lentos que los mismos algoritmos implementados en lenguajes compilados (por ejemplo , Fortran , C , Java ). La biblioteca NumPy proporciona implementaciones de algoritmos computacionales (en forma de funciones y operadores) que están optimizados para trabajar con matrices multidimensionales. Como resultado, cualquier algoritmo que pueda expresarse como una secuencia de operaciones en arreglos (matrices) e implementarse mediante NumPy es tan rápido como el código equivalente que se ejecuta en MATLAB [4] .

Comparación con MATLAB

NumPy puede verse como una alternativa gratuita a MATLAB. El lenguaje de programación MATLAB se parece superficialmente a NumPy: ambos se interpretan, ambos le permiten realizar operaciones en arreglos (matrices) y no en escalares . La ventaja de MATLAB es la presencia de una gran cantidad de paquetes ("cajas de herramientas"), por ejemplo, Simulink . Para NumPy, también hay "paquetes" similares, por ejemplo, la biblioteca SciPy proporciona una funcionalidad más similar a MATLAB, la biblioteca Matplotlib le permite crear gráficos en el estilo MATLAB. Tanto MATLAB como NumPy usan código basado en el código de la biblioteca LAPACK para resolver problemas básicos de álgebra lineal .

Ejemplo

Veamos un ejemplo de trabajo con NumPy en el shell interactivo de IPython .

Ejecutando Python desde la línea de comando:

ipython-pylab

El código:

x = espacio lineal ( 0 , 2 * pi , 100 ) y = sin ( x ) trazar ( x , y , 'ro-' ) mostrar ()

Como resultado del script, la biblioteca Matplotlib creará el gráfico que se muestra en la figura.

Historia

En 1995, el programador Jim Hugunin escribió la biblioteca Numeric Python. La biblioteca ha evolucionado con la ayuda de muchas personas, incluidos Jim Fulton, David Ascher, Paul DuBois y Konrad Hinsen. La biblioteca está disponible hasta el día de hoy, se considera bastante estable y completa, pero desactualizada.

Se propuso agregar Numeric a la biblioteca estándar de Python, pero Guido Van Rossum (autor de Python) dejó en claro que el código en su estado en ese momento no se podía mantener.

Además, la biblioteca Numeric tardaba en procesar grandes cantidades de datos.

Sobre la base de la biblioteca Numeric, se creó la biblioteca NumArray. El código numérico ha sido completamente reescrito.

La biblioteca NumArray procesó grandes arreglos de datos más rápido que la biblioteca Numeric, pero procesó arreglos pequeños más lentamente.

Durante un tiempo, se utilizaron tanto la biblioteca Numeric como la biblioteca NumArray. La última versión de Numeric (v24.2) se lanzó el 11 de noviembre de 2005 . La última versión de NumArray (v1.5.2) fue lanzada el 24 de agosto de 2006 [5] . Ya no se recomienda el uso de la biblioteca NumArray [6] .

A principios de 2005, el programador Travis Oliphant quería unir a la comunidad en torno a un proyecto y creó la biblioteca NumPy para reemplazar las bibliotecas Numeric y NumArray. NumPy se creó a partir del código numérico. El código numérico se ha reescrito para que sea más fácil de mantener y se pueden agregar nuevas funciones a la biblioteca. Las características de NumArray se han agregado a NumPy.

NumPy fue originalmente parte de la biblioteca SciPy. Para permitir que otros proyectos usen la biblioteca NumPy, su código se colocó en un paquete separado.

El código fuente de NumPy es de dominio público. Hay una gran cantidad de documentación. Incluso hay una " Guía de NumPy " detallada [7] .

NumPy v1.3.0 se lanzó el 5 de abril de 2009 y es compatible con Python v2.6 [8] . Se agregó soporte para Python v3 desde la versión 1.5.0.

Véase también

Notas

  1. v1.23.0 .
  2. The numpy Open Source Project en Open Hub: Página de idiomas - 2006.
  3. https://github.com/numpy/numpy/blob/master/LICENSE.txt
  4. SciPy PerformancePython . Consultado el 25 de junio de 2006. Archivado desde el original el 3 de abril de 2012.
  5. Archivos NumPy Sourceforge . Consultado el 24 de marzo de 2008. Archivado desde el original el 3 de abril de 2012.
  6. Página de inicio de Numarray . Consultado el 24 de junio de 2006. Archivado desde el original el 9 de junio de 2021.
  7. Oliphant, Travis E. Guía de NumPy  (neopr.) .
  8. Notas de la versión de NumPy 1.3.0 . Consultado el 2 de mayo de 2009. Archivado desde el original el 3 de abril de 2012.

Enlaces

Literatura

  • Andreas Muller, Sarah Guido. Una introducción al aprendizaje automático con Python. Guía para científicos de datos = Introducción al aprendizaje automático con Python: una guía para científicos de datos. - Williams , 2017. - 480 págs. - ISBN 978-5-9908910-8-1 , 978-1-449-36941-5.
  • J. Vander Plas. Python para tareas complejas. Ciencia de datos y aprendizaje automático = Manual de ciencia de datos de Python: herramientas esenciales para trabajar con datos. - Pedro , 2017. - 576 p. — ISBN 978-5-496-03068-7 .