Funcția numpy.reshape() este disponibilă în pachetul NumPy. După cum sugerează și numele, remodelare înseamnă „schimbări de formă”. Funcția numpy.reshape() ne ajută să obținem o nouă formă într-o matrice fără a-i modifica datele.
Uneori, trebuie să remodelăm datele de la lat la lung. Deci, în această situație, trebuie să remodelăm matricea folosind funcția reshape().
Sintaxă
numpy.reshape(arr, new_shape, order='C')
Parametrii
Există următorii parametri ai funcției reshape():
1) arr: array_like
Acesta este un ndarray. Aceasta este matricea sursă pe care dorim să o remodelăm. Acest parametru este esențial și joacă un rol vital în funcția numpy.reshape().
verificarea nulă în java
2) new_shape: int sau tuplu de int
Forma în care dorim să convertim matricea noastră originală ar trebui să fie compatibilă cu matricea originală. Dacă este un număr întreg, rezultatul va fi o matrice 1-D de acea lungime. O dimensiune a formei poate fi -1. Aici, valoarea este aproximată prin lungimea matricei și dimensiunile rămase.
3) comanda: {'C', 'F', 'A'}, opţional
Acest parametru de ordine a indexurilor joacă un rol crucial în funcția reshape(). Aceste ordine de index sunt folosite pentru a citi elementele matricei sursă și pentru a plasa elementele în matricea remodelată folosind această ordine de index.
- Ordinea indexului „C” înseamnă a citi/scrie elementele care utilizează o ordine de index asemănătoare C, unde ultimul indice al axei se schimbă cel mai rapid, înapoi la primul indice al axei care se schimbă cel mai lent.
- Ordinea indexului „F” înseamnă a citi/scrie elementele care folosesc ordinea indexului de tip Fortran, unde ultimul indice al axei se schimbă cel mai lent și primul indice al axei se schimbă cel mai rapid.
- Ordinele „C” și „F” nu iau nicio cantitate din aspectul de memorie al matricei de bază și se referă doar la ordinea de indexare.
- Ordinea indexului „A” înseamnă a citi/scrie elementele în ordinea indexului de tip Fortran, când arr este învecinat în memorie, în caz contrar utilizați ordinea C-like.
Se intoarce
Această funcție returnează un ndarray. Este un nou obiect de vizualizare, dacă este posibil; în caz contrar, va fi o copie. Nu există nicio garanție pentru aspectul memoriei matricei returnate.
Exemplul 1: ordonarea indicilor de tip C
import numpy as np x=np.arange(12) y=np.reshape(x, (4,3)) x y
Ieșire:
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]])
În codul de mai sus
- Am importat numpy cu numele de alias np.
- Am creat o matrice „a” folosind funcția np.arrange().
- Am declarat variabila „y” și am atribuit valoarea returnată a funcției np.reshape().
- Am trecut matricea „x” și forma în funcție.
- În cele din urmă, am încercat să tipărim valoarea arr.
În rezultat, matricea a fost reprezentată ca trei rânduri și patru coloane.
Exemplul 2: Echivalent cu C ravel apoi C remodelare
import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x),(3,4)) x y
Funcția ravel() este utilizată pentru a crea o matrice aplatizată învecinată. Este returnată o matrice unidimensională care conține elementele de intrare. O copie se face numai atunci când este nevoie.
round matematică java
Ieșire:
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]])
Exemplul 3: ordonarea indexului de tip Fortran
import numpy as np x=np.arange(12) y=np.reshape(x, (4, 3), order='F') x y
Ieșire:
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]])
În codul de mai sus
- Am importat numpy cu numele de alias np.
- Am creat o matrice „a” folosind funcția np.arrange().
- Am declarat variabila „y” și am atribuit valoarea returnată a funcției np.reshape().
- Am trecut matricea „x” și ordinea formei și a indexului Fortran în funcție.
- În cele din urmă, am încercat să tipărim valoarea arr.
În rezultat, matricea a fost reprezentată ca patru rânduri și trei coloane.
Exemplul 4: ordonarea indexului de tip Fortran
import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x, order='F'), (4, 3), order='F') x y
Ieșire:
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]])
Exemplul 5: valoarea nespecificată este dedusă a fi 2
import numpy as np x=np.arange(12) y=np.reshape(x, (2, -1)) x y
În codul de mai sus
- Am importat numpy cu numele de alias np.
- Am creat o matrice „a” folosind funcția np.arrange().
- Am declarat variabila „y” și am atribuit valoarea returnată a funcției np.reshape().
- Am trecut matricea „x” și forma (valoare nespecificată) în funcție.
- În cele din urmă, am încercat să tipărim valoarea arr.
În rezultat, matricea a fost reprezentată ca două rânduri și cinci coloane.
Ieșire:
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]])