¿Por qué las matrices NumPy son tan eficientes?
El núcleo de NumPy es el objeto ndarray. Por un lado, los objetos Ndarray encapsulan matrices multidimensionales que pueden contener el mismo tipo de datos, por otro lado, para obtener un mejor rendimiento, las operaciones en ndarray se realizan en código compilado; Además, en comparación con el objeto de secuencia que viene con Python, existen las siguientes diferencias entre ellos:
El tamaño de 1. Las matrices NumPy son fijas. Las listas de Python pueden crecer dinámicamente. Cambiar el tamaño de NumPy recreará una nueva matriz y eliminará la matriz original.
2. Los elementos del array Numpy deben ser del mismo tipo. (Por lo tanto, cada elemento ocupa la misma cantidad de memoria. La excepción es: (Sin comprensión especial: puede tener matrices de objetos (python, incluidos numpy), lo que permite matrices de elementos de diferentes tamaños).
3.Las matrices NumPy admiten cálculos matemáticos y otros tipos de operaciones en grandes cantidades de datos. En general, las operaciones en matrices NumPy son más eficientes y requieren menos código que los tipos de secuencia propios de Python.
4. más paquetes de computación científica de Python usan matrices NumPy; aunque estas bibliotecas admiten la entrada de tipos de secuencia de Python, las operaciones internas aún deben convertirse primero a tipos de matrices NumPy y la salida suele ser una matriz NumPy. Por lo tanto, desea utilizar estos Python de manera eficiente. Paquete de computación científica, no es suficiente conocer los tipos de secuencia integrados de Python. También necesita saber cómo usar las matrices NumPy.
Finalmente, NumPy es totalmente compatible con el paradigma orientado a objetos, por ejemplo. es una matriz con muchos métodos y una clase con atributos. Muchos de sus métodos están asignados a funciones en el espacio de nombres NumPy más externo. Esto le da al programador más libertad: el programador puede elegir si usarlos de forma orientada a objetos o de procedimiento. interfaz.