La versión 1.20.0 se ha liberado recientemente. Versión en la que se incluyen nuevas capacidades como las anotaciones de tipos y expansión del uso de SIMD (single instruction, multiple data). Por lo que se ha descrito como la versión más grande de la historia de la librería.
Novedades de la versión
Las anotaciones de tipo se encuentran disponibles en una amplia parte de la librería. Estando disponible un nuevo módulo numpy.typing
en el que se pueden encontrar tipos útiles para los usuarios finales. Entre los que se incluyen ArrayLike
, para objetos que se pueden convertir en vectores, y DtypeLike
, para objetos que se pueden convertir en un dtype
.
Por otro lado, al aumentar el uso de SIMD en NumPy se mejora la velocidad de ejecución de muchas funciones. Además, se han realizado mejoras para preparar el código para introducir en un futuro las optimizaciones de rendimiento de SIMD de NEP-38.
Otras mejoras que se han incluido en la versión 1.20.0 de NumPy son:
- Preparación para la modificación de los de los objetos dtype (objeto de tipo de datos) e implementación de conversiones para permitir extensión de tipos.
- Soporte preliminar para la versión 3.0 del Cython para escribir extensiones C en Python.
- La clase
randon.Generator
contiene una nueva funciónpermuted
. - Los errores de indexación se notificarán incluso cuando el resultado del índice esté vacío.
- Una nueva palabra clave
where
se ha añadido para evaluar los valores en vectores de tipo Boolean. - Los tipos de
numpy.typing
ahora se pueden importar en tiempo de ejecución. - La función
sliding_window_view
ofrece una vista de ventana deslizante para matrices NumPy. - Al crear o asignar matrices, en todos los casos relevantes, los escalares NumPy ahora se convertirán a matrices NumPy
- Se ha deprecado el uso de alias de tipos integrados, como puede ser el caso de
np.int
. - Las coincidencias inexactas de
mode
ysearchside
han sido deprecadas. - Se ha realizado limpieza de código relacionadas con la eliminación de Python 2.7 y mejoras en la legibilidad de código.
Las notas de la versión se pueden encontrar en la página web del proyecto con el resto de mejoras que se han introducido en esta versión.
Imagen de Michael Gaida en Pixabay