Funkcija uporabe NumPy

Funkcija Uporabe Numpy



Vgrajena knjižnica, ki jo ponuja Python, znana kot NumPy, nam omogoča sestavo večdimenzionalnih nizov, njihovo spreminjanje in izvajanje različnih aritmetičnih izračunov na njih. Funkcijo uporabe ponuja tudi paket NumPy. Tipičen primer uporabe za funkcijo uveljavitve je podoben scenariju, kjer želimo razrezati matriko in izvesti nekaj operacij na vsakem elementu seznama, na primer, če želimo kvadratizirati vsak element vrstice. Seveda v Pythonu vemo, da so zanke for počasne, zato bi se jim radi izognili, če je le mogoče. Funkcijo »uporabi« lahko uporabite, če želite izvesti isto operacijo v vsaki vrstici ali stolpcu podatkovnega okvira. Z drugimi besedami, naredi tisto, kar želite narediti z zanko for, ne da bi morali napisati zanko for.

Obstajata dva načina za uporabo katere koli funkcije v matriki, odvisno od stanja. Uporabimo lahko funkcijo »uporabi preko osi«, ki je uporabna, ko uporabimo funkcijo za vsak element matrike enega za drugim, in je uporabna za n-dimenzionalne matrike. Druga metoda je »uporaba vzdolž osi«, ki velja za enodimenzionalni niz.

Sintaksa:

1. način: Nanesite vzdolž osi

numpy. uporabi_vzdolž_osi ( 1d_funkcija , os , prir , *args , **kvarji )

V sintaksi imamo funkcijo »numpy.apply«, ki ji posredujemo pet argumentov. Prvi argument, ki je '1d_function', deluje na enodimenzionalni matriki, ki je zahtevana. Medtem ko je drugi argument, »os«, tisti, na kateri osi želite razrezati matriko in uporabiti to funkcijo. Tretji parameter je 'arr', ki je podana matrika, za katero želimo uporabiti funkcijo. Medtem ko sta »*args« in »*kwargs« dodatna argumenta, ki ju ni treba dodati.







Primer 1:

V smeri boljšega razumevanja metod »uporabe« izvajamo primer, da preverimo delovanje metod uporabe. V tem primeru izvedemo funkcijo »apply_along_Axis«. Nadaljujmo s prvim korakom. Najprej vključimo naše knjižnice NumPy kot np. Nato ustvarimo matriko z imenom 'arr', ki vsebuje matriko 3 × 3 s celimi vrednostmi, ki so '8, 1, 7, 4, 3, 9, 5, 2 in 6'. V naslednji vrstici ustvarimo spremenljivko z imenom 'array', ki je odgovorna za shranjevanje rezultata funkcije apply_along_Axis.



Tej funkciji posredujemo tri argumente. Prva je funkcija, ki jo želimo uporabiti za matriko, v našem primeru je to razvrščena funkcija, ker želimo, da je naša matrika razvrščena. Nato posredujemo drugi argument '1', kar pomeni, da želimo našo matriko razrezati vzdolž osi=1. Nazadnje posredujemo matriko, ki jo bomo v tem primeru razvrstili. Na koncu kode preprosto natisnemo obe matriki – prvotno matriko in tudi nastalo matriko – ki sta prikazani z uporabo stavka print().



uvoz numpy kot npr.

prir = npr. niz ( [ [ 8 , 1 , 7 ] , [ 4 , 3 , 9 ] , [ 5 , dva , 6 ] ] )

niz = npr. uporabi_vzdolž_osi ( razvrščeno , 1 , prir )

tiskanje ( 'izvirna matrika je:' , prir )

tiskanje ( 'razvrščena matrika je:' , niz )





Kot lahko vidimo v naslednjem izhodu, smo prikazali obe matriki. V prvem so vrednosti naključno postavljene v vsako vrstico matrike. Toda v drugem lahko vidimo razvrščeni niz. Ker smo šli mimo osi »1«, ni razvrstil celotne matrike, ampak jo je razvrstil po vrsticah, kot je prikazano. Vsaka vrstica je razvrščena. Prva vrstica v dani matriki je '8, 1 in 7'. V razvrščeni matriki je prva vrstica »1, 7 in 8«. Enako kot to, vsaka vrstica je razvrščena.



2. način: nanesite čez os

numpy. uporabi_čez_osi ( funk , a , sekire )

V dani sintaksi imamo funkcijo numpy.apply_over_axis, ki je odgovorna za uporabo funkcije na dani osi. Znotraj funkcije apply_over_axis posredujemo tri argumente. Prva je funkcija, ki jo je treba opraviti. Drugi je sam niz. In zadnja je os, na kateri želimo uporabiti funkcijo.

Primer 2:

V naslednjem primeru izvedemo drugo metodo funkcije »uporabi«, v kateri izračunamo vsoto tridimenzionalne matrike. Ne pozabite, da vsota dveh nizov ne pomeni, da izračunamo celotno polje. V nekaterih matrikah izračunamo vsoto vrstic, kar pomeni, da seštejemo vrstice in iz njih pridobimo en element.

Pojdimo naprej k naši kodi. Najprej uvozimo paket NumPy in nato ustvarimo spremenljivko, ki vsebuje tridimenzionalno matriko. V našem primeru je spremenljivka »arr«. V naslednji vrstici ustvarimo drugo spremenljivko, ki vsebuje nastalo matriko funkcije apply_over_axis. Funkcijo apply_over_Axis dodelimo spremenljivki “arr” s tremi argumenti. Prvi argument je vgrajena funkcija NumPy za izračun vsote, ki je np.sum. Drugi parameter je sam niz. Tretji argument je os, nad katero se uporablja funkcija, v tem primeru imamo os “[0, 2]”. Na koncu kode izvedemo obe matriki z uporabo stavka print().

uvoz numpy kot npr.

prir = npr. niz ( [ [ [ 6 , 12 , dva ] , [ dva , 9 , 6 ] , [ 18 , 0 , 10 ] ] ,

[ [ 12 , 7 , 14 ] , [ dva , 17 , 18 ] , [ 0 , enaindvajset , 8 ] ] ] )

niz = npr. uporabi_čez_osi ( npr. vsota , prir , [ 0 , dva ] )

tiskanje ( 'izvirna matrika je:' , prir )

tiskanje ( 'vsota matrike je:' , niz )

Kot je prikazano na naslednji sliki, smo izračunali nekaj naših tridimenzionalnih nizov s funkcijo apply_over_axis. Prva prikazana matrika je izvirna matrika z obliko '2, 3, 3', druga pa je vsota vrstic. Vsota prve vrstice je '53', druga je '54' in zadnja je '57'.

Zaključek

V tem članku smo preučevali, kako se funkcija za uporabo uporablja v NumPy in kako lahko uporabimo različne funkcije na nizih vzdolž ali nad osjo. Enostavno je uporabiti katero koli funkcijo v želeni vrstici ali stolpcu, tako da ju razrežete z metodami »uporabe«, ki jih ponuja NumPy. Je učinkovit način, ko nam ga ni treba uporabiti za celotno matriko. Upamo, da vam bo ta objava koristila pri učenju uporabe metode prijave.