Knjižnica NumPy ima veliko funkcij za delo z večdimenzionalnim nizom. funkcija preoblikovanja () je ena izmed njih, ki se uporablja za spreminjanje oblike katerega koli obstoječega polja brez spreminjanja podatkov. Oblika določa skupno število elementov v vsaki dimenziji. Dimenzijo matrike lahko dodate ali odstranite, število elementov v vsaki dimenziji pa lahko spremenite s pomočjo funkcije preoblikovanja (). Enodimenzionalnega polja lahko pretvorite v večdimenzionalno polje, vendar večdimenzionalnega polja ta funkcija ne more pretvoriti v enodimenzionalno polje. Kako preoblikovati funkcijo () deluje in kako je uporabljen, je razloženo v tej vadnici.
Sintaksa
Sintaksa funkcije preoblikovanja () je podana spodaj.
np_array numpy.preoblikovanje (np_array, new_shape, order = 'C')Ta funkcija ima lahko tri argumente. Prvi in drugi argument sta obvezna, tretji argument pa neobvezen. Matrika NumPy je vrednost prvega argumenta (np_array), ki bo preoblikovan. Oblika matrike je nastavljena kot drugi argument (nova_oblika) vrednost, ki je lahko celo število ali celo število. Vrstni red matrike nastavi tretji argument (naročilo) vrednost, uporabljena za določanje položaja elementa preoblikovane matrike. Vrednost tretjega argumenta je lahko 'C"ali"F"ali"A.'Vrednost naročila'C'se uporablja za razvrščanje indeksov v slogu C, kjer se indeks zadnje osi spreminja hitreje, indeks prve osi pa počasneje. Vrednost naročila 'F'se uporablja za razvrščanje indeksov v obliki Fortran, kjer se indeks prve osi spreminja hitreje, indeks zadnje osi pa počasneje. Oboje 'C"in"F'naročila ne uporabljajo pomnilnika. Vrednost naročila, 'A'deluje kot'F,'vendar uporablja pomnilnik.
Uporaba funkcije preoblikovanja ():
Pred izvajanjem primerov te vadnice morate namestiti knjižnico NumPy. V delu te vadnice so prikazane različne uporabe funkcije preoblikovanja ().
Primer-1: Pretvorite enodimenzionalno polje v dvodimenzionalno polje
Naslednji primer prikazuje funkcijo preoblikovanja () za pretvorbo enodimenzionalnega polja NumPy v dvodimenzionalno polje NumPy. Funkcija arange () se v skriptu uporablja za ustvarjanje enodimenzionalnega polja z 10 elementi. Prva funkcija preoblikovanja () se uporablja za pretvorbo enodimenzionalnega polja v dvodimenzionalno polje z dvema vrsticama in 5 stolpci. Tu je funkcija preoblikovanja () poklicana z imenom modula, np. Druga funkcija preoblikovanja () se uporablja za pretvorbo enodimenzionalnega polja v dvodimenzionalno polje 5 vrstic in 2 stolpcev. Tu se prikliče funkcija preoblikovanja () z uporabo poimenovane matrike NumPy np_array.
# Uvozi NumPyuvozi numpy kot np
# Ustvari polje NumPy vrednosti vrednosti
np_array = np.arange (10)
# Natisnite vrednosti polja NumPy
print ("Vrednosti matrike NumPy: \ n", np_array)
# Preoblikujte matriko z 2 vrsticama in 5 stolpci
novo_niz = np.preoblikovanje (np_array, (2, 5))
# Natisnite preoblikovane vrednosti
print ("\ nPreoblikovano polje z dvema vrsticama in 5 stolpci: \ n", new_array)
# Preoblikujte polje s 5 vrsticami in 2 stolpcema
new_array = np_array.preoblikovanje (5, 2)
# Natisnite preoblikovane vrednosti
print ("\ nPreoblikovano polje s 5 vrsticami in 2 stolpcema: \ n", new_array)
Izhod:
Naslednji izhod se bo prikazal po izvedbi zgornjega skripta. Prvi izhod prikazuje glavno matriko. Drugi in tretji izhod prikazuje preoblikovano matriko.
Primer-2: Pretvorite enodimenzionalno polje v tridimenzionalno polje
Naslednji primer prikazuje funkcijo preoblikovanja () za pretvorbo enodimenzionalnega polja NumPy v tridimenzionalno polje NumPy. Funkcija array () se v skriptu uporablja za ustvarjanje enodimenzionalnega polja z 12 elementi. funkcija preoblikovanja () se uporablja za pretvorbo ustvarjenega enodimenzionalnega polja v tridimenzionalno polje. Tu se prikliče funkcija preoblikovanja () z uporabo poimenovane matrike NumPy np_array.
# Uvozi NumPyuvozi numpy kot np
# Ustvari matriko NumPy s pomočjo seznama
np_array = np.matrika ([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
# Natisnite vrednosti polja NumPy
print ("Vrednosti matrike NumPy: \ n", np_array)
# Iz enodimenzionalnega polja ustvarite tridimenzionalno polje
new_array = np_array.preoblikovanje (2, 2, 3)
# Natisnite preoblikovane vrednosti
print ("\ nPreoblikovane vrednosti 3D-nizov so: \ n", new_array)
Izhod:
Naslednji izhod se bo prikazal po izvedbi zgornjega skripta. Prvi izhod prikazuje glavno matriko. Drugi izhod prikazuje preoblikovano matriko.
Primer-3: Preoblikujte matriko NumPy na podlagi naročanja
Naslednji primer prikazuje funkcijo preoblikovanja () za pretvorbo enodimenzionalnega polja NumPy v dvodimenzionalno polje NumPy z različnimi vrstami naročil. Funkcija arange () se v skriptu uporablja za ustvarjanje enodimenzionalnega polja z 15 elementi. Prva funkcija preoblikovanja () se uporablja za ustvarjanje dvodimenzionalne matrike iz 3 vrstic in 5 stolpcev z urejanjem v slogu C. Druga funkcija preoblikovanja () se uporablja za ustvarjanje dvodimenzionalne matrike iz 3 vrstic in 5 stolpcev z Fortranovim urejanjem.
# Uvozi NumPyuvozi numpy kot np
# Ustvari polje NumPy vrednosti vrednosti
np_array = np.arange (15)
# Natisnite vrednosti polja NumPy
print ("Vrednosti matrike NumPy: \ n", np_array)
# Preoblikujte matriko na podlagi razvrščanja v slogu C
new_array1 = np.preoblikovanje (np_array, (3, 5), order = 'C')
# Natisnite preoblikovane vrednosti
print ("\ nPreoblikovane vrednosti 2D matrike, ki temeljijo na razvrščanju v slogu C, so: \ n", new_array1)
# Preoblikujte matriko na podlagi razvrščanja v Fortranovem vrstnem redu
new_array2 = np.preoblikovanje (np_array, (3, 5), order = 'F')
# Natisnite preoblikovane vrednosti
print ("\ nPreoblikovane vrednosti 2D matrike, ki temeljijo na Fortranovem urejanju, so: \ n", new_array2)
Izhod:
Naslednji izhod se bo prikazal po izvedbi zgornjega skripta. Prvi izhod prikazuje glavno polje vrednosti. Drugi izhod prikazuje vrednosti matrike z razvrščanjem po vrsticah. Tretji izhod prikazuje vrednosti matrike z urejanjem po stolpcih.
Zaključek
Načini pretvorbe matrike iz ene oblike v drugo z uporabo funkcije preoblikovanja () so opisani v tej vadnici. Namen uporabe funkcije preoblikovanja () bo po vadbi primerov te vadnice odstranjen, bralci pa bodo to funkcijo lahko uporabljali v svojem skriptu python.