Funksjonen numpy.reshape() er tilgjengelig i NumPy-pakken. Som navnet antyder, betyr omforming 'endringer i form'. Funksjonen numpy.reshape() hjelper oss å få en ny form til en matrise uten å endre dataene.
Noen ganger må vi omforme dataene fra brede til lange. Så i denne situasjonen må vi omforme matrisen ved å bruke funksjonen reshape().
Syntaks
numpy.reshape(arr, new_shape, order='C')
Parametere
Det er følgende parametere for reshape()-funksjonen:
1) arr: array_like
Dette er en ndarray. Dette er kildematrisen som vi ønsker å omforme. Denne parameteren er viktig og spiller en viktig rolle i funksjonen numpy.reshape().
strengsammenkobling
2) new_shape: int eller tuppel av ints
Formen vi ønsker å konvertere den opprinnelige matrisen i bør være kompatibel med den originale matrisen. Hvis et heltall, vil resultatet være en 1-D-matrise av den lengden. En formdimensjon kan være -1. Her er verdien tilnærmet med lengden på matrisen og de gjenværende dimensjonene.
3) rekkefølge: {'C', 'F', 'A'}, valgfritt
Disse indeksordreparameteren spiller en avgjørende rolle i funksjonen omforme(). Disse indeksordrene brukes til å lese elementene i kildematrisen og plassere elementene i den omformede matrisen ved å bruke denne indeksrekkefølgen.
- Indeksrekkefølgen 'C' betyr å lese/skrive elementene som bruker en C-lignende indeksrekkefølge der den siste akseindeksen endrer seg raskest, tilbake til den første akseindeksen som endrer seg tregest.
- Indeksrekkefølgen 'F' betyr å lese/skrive elementene som bruker den Fortran-lignende indeksrekkefølgen, hvor den siste akseindeksen endrer seg langsomst og den første akseindeksen endres raskest.
- 'C'- og 'F'-rekkefølgen tar ingen del av minneoppsettet til den underliggende matrisen og refererer bare til indekseringsrekkefølgen.
- Indeksrekkefølgen 'A' betyr å lese/skrive elementene i Fortran-lignende indeksrekkefølge, når arr er sammenhengende i minnet, ellers bruk C-lignende rekkefølge.
Returnerer
Denne funksjonen returnerer en ndarray. Det er et nytt visningsobjekt hvis mulig; ellers blir det en kopi. Det er ingen garanti for minneoppsettet til den returnerte matrisen.
Eksempel 1: C-lignende indeksbestilling
import numpy as np x=np.arange(12) y=np.reshape(x, (4,3)) x y
Produksjon:
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 koden ovenfor
- Vi har importert numpy med alias navn np.
- Vi har laget en matrise 'a' ved å bruke np.arrange() funksjonen.
- Vi har erklært variabelen 'y' og tildelt den returnerte verdien til np.reshape()-funksjonen.
- Vi har passert matrisen 'x' og formen i funksjonen.
- Til slutt prøvde vi å skrive ut verdien av arr.
I utdataene har matrisen blitt representert som tre rader og fire kolonner.
Eksempel 2: Tilsvarer C ravel deretter C omforme
import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x),(3,4)) x y
Funksjonen ravel() brukes til å lage en sammenhengende flatt matrise. En endimensjonal matrise som inneholder elementene i inngangen, returneres. En kopi lages kun når det er nødvendig.
romersk siffer 1 til 100
Produksjon:
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]])
Eksempel 3: Fortran-lignende indeksbestilling
import numpy as np x=np.arange(12) y=np.reshape(x, (4, 3), order='F') x y
Produksjon:
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 koden ovenfor
- Vi har importert numpy med alias navn np.
- Vi har laget en matrise 'a' ved å bruke np.arrange() funksjonen.
- Vi har erklært variabelen 'y' og tildelt den returnerte verdien av np.reshape()-funksjonen.
- Vi har passert matrisen 'x' og formen og Fortran-lignende indeksrekkefølgen i funksjonen.
- Til slutt prøvde vi å skrive ut verdien av arr.
I utdataene har matrisen blitt representert som fire rader og tre kolonner.
Eksempel 4: Fortran-lignende indeksbestilling
import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x, order='F'), (4, 3), order='F') x y
Produksjon:
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]])
Eksempel 5: Den uspesifiserte verdien antas å være 2
import numpy as np x=np.arange(12) y=np.reshape(x, (2, -1)) x y
I koden ovenfor
- Vi har importert numpy med alias navn np.
- Vi har laget en matrise 'a' ved å bruke np.arrange() funksjonen.
- Vi har erklært variabelen 'y' og tildelt den returnerte verdien til np.reshape()-funksjonen.
- Vi har passert matrisen 'x' og formen (uspesifisert verdi) i funksjonen.
- Til slutt prøvde vi å skrive ut verdien av arr.
I utdataene har matrisen blitt representert som to rader og fem kolonner.
Produksjon:
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]])