El módulo numpy de Python proporciona una función llamada numpy.ravel, que se utiliza para cambiar una matriz bidimensional o una matriz multidimensional en una matriz aplanada contigua. La matriz devuelta tiene el mismo tipo de datos que la matriz de origen o la matriz de entrada. Si la matriz de entrada es una matriz enmascarada, la matriz devuelta también será una matriz enmascarada.
Sintaxis:
numpy.ravel(x, order='C')
Parámetros:
x: tipo matriz
programa java
Este parámetro define la matriz de entrada, que queremos cambiar en una matriz aplanada contigua. Los elementos de la matriz se leen en el orden especificado por el parámetro de orden y se empaquetan como una matriz unidimensional.
orden: {'C','F', 'A', 'K'}(opcional)
Si configuramos el parámetro de orden en 'C', significa que la matriz se aplana en el orden de las filas principales. Si se establece 'F', la matriz se aplana en el orden de las columnas principales. La matriz se aplana en el orden de las columnas principales solo cuando 'A' es contigua a Fortran en la memoria y cuando configuramos el parámetro de orden en 'A'. El último orden es 'K', que aplana la matriz en el mismo orden en que aparecieron los elementos en la memoria. De forma predeterminada, este parámetro está establecido en 'C'.
Devoluciones:
Esta función devuelve una matriz aplanada contigua con el mismo tipo de datos que una matriz de entrada y tiene una forma igual a ( x.tamaño ).
Ejemplo 1:
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y
Producción:
array([ 1, 3, 5, 11, 35, 56])
En el código anterior
- Hemos importado numpy con nombre de alias np.
- Hemos creado una matriz. 'X' usando la función np.array().
- Hemos declarado la variable y y hemos asignado el valor devuelto de la función np.ravel().
- Hemos pasado la matriz. 'X' en la función.
- Por último, intentamos imprimir el valor de y .
En la salida, los valores de la matriz se muestran en una matriz aplanada contigua.
Ejemplo 2:
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y = np.ravel(x, order='F') z = np.ravel(x, order='C') p = np.ravel(x, order='A') q = np.ravel(x, order='K') y z p q
Producción:
array([ 1, 11, 3, 35, 5, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56])
Ejemplo 3:
import numpy as np x = np.arange(12).reshape(3,2,2).swapaxes(1,2) x y=np.ravel(a, order='C') y z=np.ravel(a, order='K') z q=np.ravel(a, order='A') q
Producción:
array([[[ 0, 2], [ 1, 3]], [[ 4, 6], [ 5, 7]], [[ 8, 10], [ 9, 11]]]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11]) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11])
En el código anterior
- Hemos importado numpy con nombre de alias np.
- Hemos creado una matriz. 'X' usando la función np.arange().
- Hemos cambiado su forma y cambiamos el eje usando el remodelar() y np.swapaxes() función.
- Hemos declarado las variables y, z y q y asignamos el valor devuelto de la función np.ravel().
- Hemos pasado la matriz. 'X' y el orden C , k , y A en la función.
- Por último, intentamos imprimir el valor de y .
En la salida, los valores de la matriz se muestran en una matriz aplanada contigua.