El mòdul numpy de Python proporciona una funció anomenada numpy.ravel, que s'utilitza per canviar una matriu bidimensional o una matriu multidimensional en una matriu aplanada contigua. La matriu retornada té el mateix tipus de dades que la matriu d'origen o la matriu d'entrada. Si la matriu d'entrada és una matriu emmascarada, la matriu retornada també serà una matriu emmascarada.
Sintaxi:
numpy.ravel(x, order='C')
Paràmetres:
x: array_like
Aquest paràmetre defineix la matriu d'entrada, que volem canviar en una matriu aplanada contigua. Els elements de la matriu es llegeixen en l'ordre especificat pel paràmetre d'ordre i s'empaqueten com una matriu 1-D.
ordre: {'C','F', 'A', 'K'} (opcional)
Si establim el paràmetre d'ordre a 'C', vol dir que la matriu s'aplana en l'ordre principal de la fila. Si s'estableix 'F', la matriu s'aplana en l'ordre principal de la columna. La matriu s'aplana en l'ordre principal de la columna només quan 'A' és Fortran contigu a la memòria i quan establim el paràmetre d'ordre a 'A'. L'últim ordre és 'K', que aplana la matriu en el mateix ordre en què es van produir els elements a la memòria. Per defecte, aquest paràmetre s'estableix en 'C'.
Devolucions:
Aquesta funció retorna una matriu aplanada contigua amb el mateix tipus de dades que una matriu d'entrada i té una forma igual a ( mida x ).
els números de l'alfabet
Exemple 1:
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y
Sortida:
array([ 1, 3, 5, 11, 35, 56])
En el codi anterior
- Hem importat numpy amb el nom d'àlies np.
- Hem creat una matriu 'x' utilitzant la funció np.array().
- Hem declarat la variable y i hem assignat el valor retornat de la funció np.ravel().
- Hem passat la matriu 'x' en la funció.
- Finalment, hem intentat imprimir el valor de i .
A la sortida, els valors de la matriu es mostren en una matriu aplanada contigua.
Exemple 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
Sortida:
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])
Exemple 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
Sortida:
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 codi anterior
- Hem importat numpy amb el nom d'àlies np.
- Hem creat una matriu 'x' utilitzant la funció np.arange().
- Hem canviat la seva forma i hem canviat l'eix amb el remodelar () i np.swapaxes() funció.
- Hem declarat les variables y, z i q i hem assignat el valor retornat de la funció np.ravel().
- Hem passat la matriu 'x' i ordenar C , K , i A en la funció.
- Finalment, hem intentat imprimir el valor de i .
A la sortida, els valors de la matriu es mostren en una matriu aplanada contigua.