Ravel Python Numpy

Ravel Python Numpy
Siden Numpy er et Python-standardbibliotek som fungerer med matematiske operasjoner på høyt nivå som matriser og matriser med effektiv beregning. Den har en innebygd funksjon for å manipulere matriser. Denne artikkelen vil ha en dyp diskusjon om en av de numpy støttede funksjonene som kalles Numpy.ravel () funksjon.

Den returnerer en sammenhengende flat-matrise som betyr at den endrer en todimensjonal matrise eller flerdimensjonal matrise i en en-dimensjonal matrise av samme type som for inngangsarrayen. La oss ha et eksempel implementering av denne ravel () funksjonen hvordan den flater matriser på forskjellige måter.

Alle eksemplene kjøres i Spyder -terminalen. Merk at vi må importere Numpy -modulen for å få tilgang til denne Ravel () -funksjonen.

Syntaks av Numpy.Ravel ()

Syntaksen som ble brukt i numpy.Ravel () -funksjonen er slik:

# Numpy.Ravel (z, ordre = "C")

Parameter bestått av numpy.Ravel ()

Hovedsakelig er det to parametere som er bestått i denne funksjonen: 'Z' og 'Order'. 'Z' er en inngangsoppstilling som endres i en sammenhengende flat-matrise eller i en endimensjonal matrise. Array-elementene er i den rekkefølgen som er spesifisert av "orden" -parameteren og pakket inn i en endimensjonal matrise.

Denne ordren er en valgfri parameter som tar tre argumenter: C, F og K. Hvis vi setter en ordre som C, blir matrisen flatet ut i rad-major, og som standard blir "C" -parameteren tatt. Hvis vi setter “F”, får matrisen en flatet matrise i kolonne-major. På den annen side er den satt i "K" -rekkefølgen som flater matrisen i samme rekkefølge som elementer forekommer i minnet.

Eksempel 1:

I dette eksemplet har vi en 2-dimensjonal matrise som en input-matrise som har forskjellige verdier med en variabel tilordnet med navnet 'Arr_1'. Så vil vi ringe ARR_1.ravel () funksjon for å flate en matrise i en annen variabel 'arr_2'.

Vi kan ha inngangsverdier for inngangsarrayer og flate arrayverdier på konsollskjermen gjennom utskriftsuttalelser.

Importer numpy som NP
arr_1 = np.Array ([[0, -8, 3], [15, 2, 1]])
arr_2 = arr_1.Ravel ()
print ("Vis inndata -array: \ n", arr_1)
PRINT ("Vis Output Array: \ n", ARR_2)

Endelig har vi den konverterte 2-D-arrayutgangen i 1-D-arrayen nedenfor.

Eksempel 2:

Her i eksemplet vil vi vise at Ravel () -funksjonen er lik omformet () -funksjonen. For det første opprettet vi en 2D -matrise fra Array -funksjonen NP.Array () tildelt My_arr.Ravel () til en variabel 'output_arr' som bærer flatteverket; Etter det skrev vi ut både inngangsarrays og utgangsarray.

Endelig brukte vi my_arr.omforme (-1) i en variabel reshape_arr. Vi har skrevet ut omformet matrise og ravel () funksjonsarray.

Importer numpy som NP
my_arr = np.Array ([[99, 15, 56], [7, 63, -54]]))
output_arr = my_arr.Ravel ()
print ("Vis inndata -array: \ n", my_arr)
print ("Vis inndata -array: \ n", output_arr)
RESSHAPE_ARR = MY_ARR.omforme (-1)
Print ("Vis Reshape Array: \ n", my_arr)

Siden vi har omformet matrisen og flatet opp matrisen fra Ravel () -funksjonen, vises utgangen på skjermdumpen nedenfor.

Eksempel 3:

I dette spesielle eksemplet bruker vi numpy.Ravel () -funksjonen med ordren 'F' som vil stille 2D-matrisen i en kolonne-major 1D-matrise. Vi har en 2D -matrise i en variabel 'f_arr' og f_arr.Ravel () -funksjonen med ordren tilsvarer 'F' i en annen variabel representert som F_Output som vil skrive ut utdataene som kolonne-major.

Endelig har vi en trykt uttalelse av F_ARR som input -matrise og F_Output -matrise som Output Array.

Importer numpy som NP
F_arr = np.Array ([[11, 32, 23], [-4, 58, 88]]))
F_output = f_arr.Ravel ('F')
print ("Vis inndata -array: \ n", f_arr)
PRINT ("Vis Output Array: \ n", F_Output)

Utgangen fra ovennevnte kode i kolonne-major-matrisen vises nedenfor.

Eksempel 4:

Dette eksemplet bruker 'C' som en ordreparameter som vil konvertere 2D-matrisen til en 1D-matrise som er rad-major. Vi har laget en 2D -matrise som bærer matrise forskjellige verdier i den representert som 'x_array' variabel.

Etter dette har vi X_Array.Ravel () -funksjonen tar ordreparameteren som 'C' som vil gi oss en 1D-matrise som rad-major.

Importer numpy som NP
x_array = np.Array ([[0, 4, 8], [1, 5, 9]])
y_array = x_array.Ravel ('C')
Print ("Dette er en input -matrise: \ n", x_array)
Print ("Dette er en output -matrise: \ n", y_array)

Som en ordreparameter satt til 'C' som gir oss en utgangsoppstilling i en flatet matrise.

Eksempel 5:

I dette eksemplet, ta ordreparameteren og sett den som 'k' for å vite hvordan denne ordrenparameteren fungerer. For dette må vi ta en 2D -matrise og lagre verdien av matrisen i en variabel 'k_array' fra en matrisefunksjon.

Deretter ringe en k_arr.Ravel () -funksjonen og passerer en ordre satt som 'K' som et argument som vil returnere en enkelt linjerekke fra en 2D -matrise. Vi kan se inngangsarray. Vi har skrevet ut matrisene.

Importer numpy som NP
k_array = np.Array ([[4, 14, 44], [5, 15, 55]])
k_output = k_array.Ravel ('K')
Print ("Her er input -matrise: \ n", k_array)
Print ("Her er Output Array: \ n", K_Output)

Endelig har vi fått output -matrisen som en flatet matrise. Vi har gitt ut skjermbildet nedenfor fra koden ovenfor.

Eksempel 6:

Det siste eksemplet er å bruke omformet med å bytte aksene. La oss implementere dette eksemplet denne gangen; Vi har satt rekkevidden til matrisen til en verdi 10 fra en NP.Arange () Funksjonsanrop. Det vil hjelpe i omformet () -funksjonen. Ettersom omformet () -funksjonen vil omforme antall dimensjoner uten å ha en endring i data.

Vi har også kalt Swapaxes () -funksjon som vil bytte Axis fra 0 til 1, så har vi lagret NP.Ravel () -funksjon som tar en inngangsarray og bestiller den som 'C' i variabel 'P'. Vi har tatt forskjellige variabler for å sette ordre c, k, f som p, q og r. Skrive ut variabelen som vil gi forskjellige utganger for forskjellige ordresett.

Importer numpy som NP
my_array = np.Arange (10).omforme (2,5).Swapaxes (0,1)
P = NP.ravel (my_array, ordre = 'c')
Q = NP.Ravel (My_Array, Order = 'K')
r = np.ravel (my_array, ordre = 'f')
Print ("Output Array: \ n", my_array)
Print ("Output Array of C-Order: \ n", P)
Print ("Output Array of K-Order: \ n", Q)
PRINT ("Output Array of F_Order: \ n", R)

Vi har en annen utgang nedenfor på skjermen.

Konklusjon

Vi har en dyp diskusjon om alle ordreparametrene til Ravel () -funksjonen. Vi har sett hvordan denne funksjonen returnerer et flatet utvalg fra den todimensjonale matrisen med et annet eksempel. Forhåpentligvis vil disse illustrasjonene hjelpe deg med å forstå konseptet mer perfekt.