Funktionen numpy.reshape() är tillgänglig i NumPy-paketet. Som namnet antyder betyder omformning 'förändringar i form'. Funktionen numpy.reshape() hjälper oss att få en ny form till en array utan att ändra dess data.
Ibland måste vi omforma data från bred till lång. Så i den här situationen måste vi omforma arrayen med funktionen reshape().
Syntax
numpy.reshape(arr, new_shape, order='C')
Parametrar
Det finns följande parametrar för funktionen reshape():
1) arr: array_like
Det här är en ndarray. Detta är källmatrisen som vi vill omforma. Denna parameter är viktig och spelar en viktig roll i numpy.reshape()-funktionen.
mvc för java
2) new_shape: int eller tupel av ints
Formen i vilken vi vill konvertera vår ursprungliga array bör vara kompatibel med den ursprungliga arrayen. Om ett heltal blir resultatet en 1D-matris av den längden. En formdimension kan vara -1. Här approximeras värdet av längden på arrayen och de återstående dimensionerna.
3) order: {'C', 'F', 'A'}, valfritt
Dessa indexorderparameter spelar en avgörande roll i reshape()-funktionen. Dessa indexordrar används för att läsa elementen i källmatrisen och placera elementen i den omformade matrisen med hjälp av denna indexordning.
- Indexordningen 'C' betyder att läsa/skriva de element som använder en C-liknande indexordning där det sista axelindexet ändras snabbast, tillbaka till det första axelindexet som ändras långsammast.
- Indexordningen 'F' betyder att läsa/skriva de element som använder den Fortran-liknande indexordningen, där det sista axelindexet ändras långsammast och det första axelindexet ändras snabbast.
- Ordningen 'C' och 'F' tar ingen del av minneslayouten för den underliggande arrayen och hänvisar endast till indexeringsordningen.
- Indexordningen 'A' betyder att läsa/skriva elementen i Fortran-liknande indexordning, när arr är sammanhängande i minnet, använd annars C-liknande ordning.
Returnerar
Denna funktion returnerar en ndarray. Det är ett nytt vyobjekt om möjligt; annars blir det en kopia. Det finns ingen garanti för minneslayouten för den returnerade arrayen.
Exempel 1: C-liknande indexordning
import numpy as np x=np.arange(12) y=np.reshape(x, (4,3)) x y
Produktion:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
I ovanstående kod
- Vi har importerat numpy med alias np.
- Vi har skapat en array 'a' med funktionen np.arrange().
- Vi har deklarerat variabeln 'y' och tilldelat det returnerade värdet för funktionen np.reshape() .
- Vi har passerat arrayen 'x' och formen i funktionen.
- Till sist försökte vi skriva ut värdet på arr.
I utgången har arrayen representerats som tre rader och fyra kolumner.
Exempel 2: Motsvarar C ravel sedan C omforma
import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x),(3,4)) x y
Funktionen ravel() används för att skapa en sammanhängande tillplattad array. En endimensionell array som innehåller indataelementen returneras. En kopia görs endast när det behövs.
spel duva android
Produktion:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
Exempel 3: Fortran-liknande indexordning
import numpy as np x=np.arange(12) y=np.reshape(x, (4, 3), order='F') x y
Produktion:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]])
I ovanstående kod
- Vi har importerat numpy med alias np.
- Vi har skapat en array 'a' med funktionen np.arrange().
- Vi har deklarerat variabeln 'y' och tilldelat det returnerade värdet för funktionen np.reshape().
- Vi har passerat arrayen 'x' och formen och Fortran-liknande indexordningen i funktionen.
- Till sist försökte vi skriva ut värdet på arr.
I utgången har arrayen representerats som fyra rader och tre kolumner.
Exempel 4: Fortran-liknande indexordning
import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x, order='F'), (4, 3), order='F') x y
Produktion:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]])
Exempel 5: Det ospecificerade värdet antas vara 2
import numpy as np x=np.arange(12) y=np.reshape(x, (2, -1)) x y
I ovanstående kod
- Vi har importerat numpy med alias np.
- Vi har skapat en array 'a' med funktionen np.arrange().
- Vi har deklarerat variabeln 'y' och tilldelat det returnerade värdet för funktionen np.reshape() .
- Vi har passerat arrayen 'x' och formen (ospecificerat värde) i funktionen.
- Till sist försökte vi skriva ut värdet på arr.
I utgången har arrayen representerats som två rader och fem kolumner.
Produktion:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11]])