Las listas de Python son un sustituto de las matrices, pero no ofrecen el rendimiento necesario al calcular grandes conjuntos de datos numéricos.
Para abordar este problema utilizamos el biblioteca numérica de Pitón. NumPy ofrece un objeto de matriz llamado ndarray . Son similares a las secuencias estándar de Python pero difieren en ciertos factores clave.
¿Qué es una matriz NumPy?
La matriz NumPy es una estructura de datos multidimensional que es el núcleo de la informática científica en Python.
Todos los valores de una matriz son homogéneos (del mismo tipo de datos).
Ofrecen vectorización y difusión automática.
Proporcionan una gestión eficiente de la memoria, ufuncs (funciones universales), admiten varios tipos de datos y son flexibles con la indexación y el corte.
Dimensiones en matrices
Las matrices NumPy pueden tener múltiples dimensiones, lo que permite a los usuarios almacenar datos en estructuras de varias capas.
Dimensionidades de la matriz:
| Nombre | Ejemplo |
| 0D (dimensión cero) | Escalar: un solo elemento |
| 1D (unidimensional) | Vector: una lista de números enteros. |
| 2D (bidimensional) | Matriz: una hoja de cálculo de datos. |
| 3D (tridimensional) | Tensor: almacenar una imagen en color |
Crear objeto de matriz
Los objetos de la matriz NumPy nos permiten trabajar con matrices en Python. El objeto de matriz se llama ndarray .
La función array() de la biblioteca NumPy crea un ndarray.
Python3
algoritmos de búsqueda
import> numpy as np> arr>=> np.array([>1>,>2>,>3>,>4>,>5>,>6>])> |
comandos sql ddl
>
>
Producción
[1,2,3,4,5,6]>
También podemos crear una matriz NumPy usando List y Tuple.
Crear matriz NumPy a partir de una lista
Puede utilizar el alias np para crear ndarray de un lista usando el método matriz().
li = [1,2,3,4] numpyArr = np.array(li)>
o
numpyArr = np.array([1,2,3,4])>
La lista se pasa al método array() que luego devuelve una matriz con los mismos elementos.
Ejemplo 1: El siguiente ejemplo muestra cómo inicializar una matriz a partir de una lista.
Python3
stlc
import> numpy as np> > li>=> [>1>,>2>,>3>,>4>]> numpyArr>=> np.array(li)> print>(numpyArr)> |
>
>
Producción:
[1 2 3 4]>
La matriz resultante tiene el mismo aspecto que una lista pero es un objeto NumPy.
Ejemplo 2: Tomemos un ejemplo para comprobar si numpyArr es un objeto NumPy o no. En este ejemplo, usamos la función array() para convertir la lista en una matriz NumPy y luego verificar si es un objeto NumPy o no.
Python3
import> numpy as np> > li>=> [>1>,>2>,>3>,>4>]> numpyArr>=> np.array(li)> > print>(>'li ='>, li,>'and type(li) ='>,>type>(li))> print>(>'numpyArr ='>, numpyArr,>'and type(numpyArr) ='>,>type>(numpyArr))> |
>
>
Producción:
li = [1, 2, 3, 4] and type(li) = numpyArr = [1 2 3 4] and type(numpyArr) =>
Como puede ver, li es un objeto de lista, mientras que numpyArr es un objeto de matriz de NumPy.
Crear una matriz NumPy a partir de una tupla
Puedes hacer ndarray desde un tupla usando una sintaxis similar.
tup = (1,2,3,4) numpyArr = np.array(tup)>
o
numpyArr = np.array((1,2,3,4))>
El siguiente ejemplo ilustra cómo crear una matriz a partir de una tupla. Aquí, estamos usando la función array() para convertir la tupla en una matriz NumPy.
Python3
ctc formulario completo
import> numpy as np> > tup>=> (>1>,>2>,>3>,>4>)> numpyArr>=> np.array(tup)> > print>(>'tup ='>, tup,>'and type(tup) ='>,>type>(tup))> print>(>'numpyArr ='>, numpyArr,>'and type(numpyArr) ='>,>type>(numpyArr))> |
>
>
Producción:
tup = (1, 2, 3, 4) and type(tup) = numpyArr = [1 2 3 4] and type(numpyArr) =>
Tenga en cuenta que el valor de numpyArr sigue siendo el mismo para cualquiera de las dos conversiones.
Matrices NumPy frente a secuencias Python incorporadas
- A diferencia de las listas, las matrices tienen un tamaño fijo y cambiar el tamaño de una matriz dará lugar a la creación de una nueva matriz, mientras que la matriz original se eliminará.
- Todos los elementos de una matriz son del mismo tipo.
- Las matrices son más rápidas, más eficientes y requieren menos sintaxis que las secuencias estándar de Python.
Nota: Varios paquetes científicos y matemáticos basados en Python utilizan Numpy. Es posible que tomen la entrada como una secuencia Python incorporada, pero es probable que conviertan los datos en una matriz NumPy para lograr un procesamiento más rápido. Esto explica la necesidad de comprender NumPy.
¿Por qué Numpy Array es tan rápido?
Numerosas matrices están escritas principalmente en lenguaje C . Al estar escritas en C, las matrices se almacenan en ubicaciones de memoria contiguas, lo que las hace accesibles y más fáciles de manipular. Esto significa que puede obtener el nivel de rendimiento de un código C con la facilidad de escribir un programa Python.
contiene pitón
- Datos homogéneos: Las matrices almacenan elementos del mismo tipo de datos, lo que las hace más compactas y eficientes en memoria que las listas.
- Tipo de datos fijos: Las matrices tienen un tipo de datos fijo, lo que reduce la sobrecarga de memoria al eliminar la necesidad de almacenar información de tipo para cada elemento.
- Memoria contigua: Los arreglos almacenan elementos en ubicaciones de memoria adyacentes, lo que reduce la fragmentación y permite un acceso eficiente.

Asignación de memoria de matriz Numpy
Si no tiene NumPy instalado en su sistema, puede hacerlo siguiendo estos pasos. Después de instalar NumPy, puedes importarlo a tu programa de esta manera
import numpy as np>
Nota: Aquí np es un alias comúnmente utilizado para NumPy.
Asignación de datos en Numpy Array
En NumPy, los datos se asignan de forma contigua en la memoria, siguiendo un diseño bien definido que consta del búfer de datos, la forma y los pasos. Esto es esencial para un acceso eficiente a los datos, operaciones vectorizadas y compatibilidad con bibliotecas de bajo nivel como BLAS y LAPACK .
- Búfer de datos: El búfer de datos en NumPy es un bloque de memoria único y plano que almacena los elementos reales de la matriz, independientemente de su dimensionalidad. Esto permite operaciones eficientes por elementos y acceso a datos.
- Forma: La forma de una matriz es una tupla de números enteros que representa las dimensiones a lo largo de cada eje. Cada número entero corresponde al tamaño de la matriz a lo largo de una dimensión específica, que define el número de elementos a lo largo de cada eje y es esencial para indexar y remodelar correctamente la matriz.
- Pasos: Los pasos son tuplas de números enteros que definen el número de bytes que se deben recorrer en cada dimensión al pasar de un elemento al siguiente. Determinan el espacio entre elementos en la memoria y miden cuántos bytes se requieren para pasar de un elemento a otro en cada dimensión.

Conclusión
La matriz NumPy en Python es una estructura de datos muy útil y nos permite realizar varias operaciones científicas con los datos. Es una estructura de datos muy eficiente en memoria y ofrece una amplia variedad de ventajas sobre otras secuencias de Python.
En este tutorial, explicamos las matrices NumPy en detalle. Hemos cubierto la definición, la dimensionalidad, por qué es rápida y cómo funciona la asignación de datos en una matriz. Después de completar este tutorial, obtendrá un conocimiento completo y profundo de la matriz NumPy y podrá implementarlo en sus proyectos de Python.