Duomenų mokslas

Kaip naudoti „Python NumPy“ pertvarkymo () funkciją

Kaip naudoti „Python NumPy“ pertvarkymo () funkciją

„NumPy“ biblioteka turi daug funkcijų, leidžiančių dirbti su daugialypiu masyvu. „reshape ()“ funkcija yra viena iš jų, naudojama bet kokio esamo masyvo formai pakeisti, nekeičiant duomenų. Forma apibrėžia bendrą elementų skaičių kiekviename matmenyje.  Masyvo aspektą galima pridėti arba pašalinti, o elementų skaičių kiekviename aspekte galima modifikuoti naudojant funkciją reshape (). Vienmatį masyvą galima konvertuoti į daugiamatį masyvą, tačiau daugiafunkcio masyvo šia funkcija negalima konvertuoti į vienmatį masyvą. Kaip pertvarkyti () funkciją ir jos naudojimą, paaiškinta šioje pamokoje.

Sintaksė

Funkcijos pertvarkymas () sintaksė pateikiama žemiau.

np_array numpy.pertvarkyti (np_array, new_shape, order = 'C') 

Ši funkcija gali turėti tris argumentus. Pirmasis ir antrasis argumentai yra privalomi, o trečiasis argumentas yra neprivalomas. „NumPy“ masyvas yra pirmojo argumento (np_array), kuri bus pakeista. Masyvo forma nustatyta kaip antrasis argumentas (new_shape) reikšmė, kuri gali būti sveikas skaičius arba sveikų skaičių padauginimas. Masyvo eiliškumą nustato trečiasis argumentas (įsakymas) reikšmė, naudojama apibrėžti pakeisto masyvo elemento padėtį. Trečiojo argumento vertė gali būti „C„arba“F„arba“A.„Užsakymo vertė“C'naudojamas C stiliaus indeksų tvarkymui, kai paskutinės ašies indeksas keičiasi greičiau, o pirmosios ašies indeksas keičiasi lėčiau. Užsakymo vertė 'F'naudojamas „Fortran“ stiliaus indeksų tvarkymui, kai pirmosios ašies indeksas keičiasi greičiau, o paskutinės ašies indeksas keičiasi lėčiau. AbuC„ir“F'užsakymai nenaudoja atminties. Užsakymo vertė “A„veikia kaip“F,bet jis naudoja atmintį.

Funkcijos pertvarkymas () naudojimas:

Prieš pradėdami praktikuoti šios mokymo programos pavyzdžius, turite įdiegti „NumPy“ biblioteką. Skirtingi funkcijos „performuoti ()“ naudojimo būdai parodyti šios mokymo programos dalyje.

1 pavyzdys: paversti vienmatį masyvą į dvimatį masyvą

Šiame pavyzdyje parodyta funkcija pertvarkyti (), norint paversti matmenį „NumPy“ masyvą į dvimatį „NumPy“ masyvą. „arange“ () funkcija scenarijuje naudojama norint sukurti 10 elementų matmenų masyvą. Pirmoji pertvarkymo () funkcija naudojama norint konvertuoti vienmatį masyvą į dvimatį 2 eilučių ir 5 stulpelių masyvą. Čia modulio () funkcija iškviečiama naudojant modulio pavadinimą, np. Antroji pertvarkymo () funkcija naudojama norint konvertuoti vienmatį masyvą į dvimatį 5 eilučių ir 2 stulpelių masyvą. Čia pertvarkymo () funkcija iškviečiama naudojant pavadintą masyvą „NumPy“ np_array.

# Importuoti „NumPy“
importuoti numerį kaip np
# Sukurkite „NumPy“ diapazono reikšmių masyvą
np_array = np.apelsinas (10)
# Spausdinkite „NumPy“ masyvo reikšmes
spausdinti ("NumPy masyvo reikšmės: \ n", np_array)
# Performuokite masyvą su 2 eilutėmis ir 5 stulpeliais
new_array = np.pertvarkyti (np_array, (2, 5))
# Atspausdinkite pakeistas reikšmes
spausdinti ("\ nPerformuotas masyvas su 2 eilutėmis ir 5 stulpeliais: \ n", new_array)
# Formuokite masyvą su 5 eilutėmis ir 2 stulpeliais
new_array = np_array.pertvarkyti (5, 2)
# Atspausdinkite pakeistas reikšmes
spausdinti ("\ nPerformuotas masyvas su 5 eilutėmis ir 2 stulpeliais: \ n", new_array)

Rezultatas:

Ši išvestis pasirodys atlikus pirmiau pateiktą scenarijų. Pirmasis išėjimas rodo pagrindinį masyvą. Antrasis ir trečiasis išėjimas rodo pertvarkytą masyvą.

2 pavyzdys: paversti vienmatį masyvą į trimatį masyvą

Šiame pavyzdyje parodyta funkcija pertvarkyti (), norint paversti matmenį „NumPy“ masyvą į trimatį „NumPy“ masyvą. masyvas () scenarijuje naudojama norint sukurti vienmatį 12 elementų masyvą. funkcija pertvarkyti () naudojama sukurtą vienmatį masyvą paversti trimatiu masyvu. Čia pertvarkymo () funkcija iškviečiama naudojant pavadintą masyvą „NumPy“ np_array.

# Importuoti „NumPy“
importuoti numerį kaip np
# Sukurkite „NumPy“ masyvą naudodami sąrašą
np_array = np.masyvas ([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
# Spausdinkite „NumPy“ masyvo reikšmes
spausdinti ("NumPy masyvo reikšmės: \ n", np_array)
# Sukurkite trimatį masyvą iš vieno matmens masyvo
new_array = np_array.pertvarkyti (2, 2, 3)
# Atspausdinkite pakeistas reikšmes
spausdinti ("\ nPerformuotos 3D masyvo reikšmės yra: \ n", new_array)

Rezultatas:

Ši išvestis pasirodys atlikus pirmiau pateiktą scenarijų. Pirmasis išėjimas rodo pagrindinį masyvą. Antrasis išėjimas rodo pertvarkytą masyvą.

3 pavyzdys: pertvarkykite „NumPy“ masyvą pagal užsakymą

Šiame pavyzdyje parodyta funkcija pertvarkyti (), norint paversti vienmatį „NumPy“ masyvą į dvimatį „NumPy“ masyvą su skirtingų tipų užsakymais. „arange“ () funkcija scenarijuje naudojama kuriant vienmatį 15 elementų masyvą. Pirmoji pertvarkymo () funkcija naudojama kuriant dviejų eilučių ir 5 stulpelių dviejų matmenų masyvą su C stiliaus išdėstymu. Antroji funkcija performuoti () naudojama kuriant dviejų eilučių ir 5 stulpelių dviejų matmenų masyvą su „Fortran“ stiliaus tvarka.

# Importuoti „NumPy“
importuoti numerį kaip np
# Sukurkite „NumPy“ diapazono reikšmių masyvą
np_array = np.apelsinas (15)
# Spausdinkite „NumPy“ masyvo reikšmes
spausdinti ("NumPy masyvo reikšmės: \ n", np_array)
# Pakeiskite masyvą pagal C stiliaus užsakymą
new_array1 = np.pertvarkyti (np_array, (3, 5), tvarka = 'C')
# Spausdinkite pakeistas reikšmes
spausdinti ("\ nPerformuotos 2D masyvo vertės, pagrįstos C stiliaus tvarka, yra: \ n", new_array1)
# Formuokite masyvą remdamiesi „Fortran“ stiliaus užsakymu
new_array2 = np.pertvarkyti (np_array, (3, 5), tvarka = 'F')
# Atspausdinkite pakeistas reikšmes
spausdinti ("\ nPerformuotos 2D masyvo reikšmės, pagrįstos" Fortran "stiliaus tvarka yra: \ n", new_array2)

Rezultatas:

Ši išvestis pasirodys atlikus pirmiau pateiktą scenarijų. Pirmasis išėjimas parodo pagrindinę reikšmių masyvą. Antrasis išvestis rodo masyvo reikšmes eilės tvarka. Trečia išvestis rodo masyvo reikšmes pagal stulpelių tvarką.

Išvada

Masyvo konvertavimo iš vienos formos į kitą formos būdai, naudojant funkciją reshape (), buvo aprašyti šioje pamokoje. Funkcijos reshape () naudojimo tikslas bus išvalytas po praktikos šios pamokos pavyzdžių, o skaitytojai galės naudoti šią funkciją savo python scenarijuje.

„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...
„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...
„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...