Numpy Bruk funksjon

Numpy Bruk funksjon
Det innebygde biblioteket som tilbys av Python, kjent som Numpy, lar oss konstruere de flerdimensjonale matriser, endre dem og utføre forskjellige aritmetiske beregninger på dem. Bruk funksjon leveres også av Numpy -pakken. Den typiske brukssaken for Apply -funksjonen ligner på scenariet der vi ønsker å skive en matrise og utføre noen operasjoner på hvert element i en liste, for eksempel, hvis vi vil kvadrate av hvert element på en rad. I Python vet vi selvfølgelig at for-løkker er trege, så vi ønsker å unngå dem om mulig. "Bruk" -funksjonen kan brukes hvis du vil gjøre den samme operasjonen på hver rad eller kolonne i en dataramme. Med andre ord, det gjør det du vil gjøre med en for-loop uten å måtte skrive en for-loop.

Det er to metoder for å bruke en hvilken som helst funksjon på matrisen, avhengig av tilstanden. Vi kan bruke "Bruk over aksen" -funksjonen som er nyttig når vi bruker funksjonen på hvert element i matrisen en etter en, og det er nyttig for n-dimensjonale matriser. Den andre metoden er "Bruk langs aksen" som gjelder en endimensjonal matrise.

Syntaks:

Metode 1: Bruk langs aksen

numpy.Apply_along_axis (1d_function, Axis, arr, *args, ** kwargs)

I syntaksen har vi “numpy.Bruk ”-funksjon som vi passerer fem argumenter. Det første argumentet som er "1D_Function" fungerer på den endimensjonale matrisen, som er nødvendig. Mens det andre argumentet, "Axis", er den som er Axis, vil du skive matrisen og bruke den funksjonen. Den tredje parameteren er "ARR", som er den gitte matrisen vi ønsker å bruke funksjonen. Mens “*args” og “*kwargs” er de ekstra argumentene som ikke er nødvendige å legge til.

Eksempel 1:

Når vi beveger oss mot en bedre forståelse av "Bruk" -metodene, utfører vi et eksempel for å sjekke arbeidet med anvendelsesmetoder. I dette tilfellet utfører vi "Apply_along_axis" -funksjonen. La oss fortsette til vårt første trinn. Vi inkluderer først Numpy -bibliotekene våre som NP. Og så lager vi en matrise som heter “ARR” som har en 3 × 3 -matrise med heltallverdier som er “8, 1, 7, 4, 3, 9, 5, 2 og 6”. I neste linje lager vi en variabel med navnet "Array" som er ansvarlig for å holde resultatet av Apply_along_axis -funksjonen.

Til den funksjonen passerer vi tre argumenter. Den første er funksjonen vi ønsker å bruke på matrisen, i vårt tilfelle er det den sorterte funksjonen fordi vi vil at vårt utvalg skal sorteres. Deretter passerer vi det andre argumentet “1” som betyr at vi ønsker å skive vår matrise langs Axis = 1. Laslty, vi passerer matrisen som skal sorteres i dette tilfellet. På slutten av koden skriver vi ganske enkelt ut begge matriser - den originale matrisen så vel som den resulterende matrisen - som vises ved hjelp av setningen ().

Importer numpy som NP
arr = np.Array ([[8,1,7], [4,3,9], [5,2,6]])
Array = NP.Apply_along_axis (sortert, 1, ARR)
Print ("Den originale matrisen er:", ARR)
Print ("The Sortered Array er:", Array)

Som vi kan se i følgende utgang, viste vi begge matriser. I den første plasseres verdiene tilfeldig i hver rad i matrisen. Men i den andre kan vi se den sorterte matrisen. Siden vi passerte aksen “1”, har den ikke sortert den komplette matrisen, men den sorterte den radmessig som vist. Hver rad er sortert. Den første raden i den gitte matrisen er “8, 1 og 7”. Mens du er i den sorterte matrisen, er den første raden “1, 7 og 8”. Samme som dette er hver rad sortert.

Metode 2: Bruk over aksen

numpy.Apply_over_axes (func, a, axes)

I den gitte syntaksen har vi numpy.Apply_over_axis -funksjonen som er ansvarlig for å bruke funksjonen på den gitte aksen. Inne i Apply_over_axis -funksjonen passerer vi tre argumenter. Den første er funksjonen som skal utføres. Den andre er selve matrisen. Og den siste er aksen som vi ønsker å bruke funksjonen.

Eksempel 2:

I det følgende forekomsten utfører vi den andre metoden for "Bruk" -funksjonen der vi beregner summen av den tredimensjonale matrisen. En ting å huske er at summen av to matriser ikke betyr at vi beregner hele matrisen. I noen av matriser beregner vi den radmessig summen som betyr at vi legger til radene og får det eneste elementet ut av dem.

La oss gå videre til koden vår. Vi importerer først Numpy-pakken og oppretter deretter en variabel som holder den tredimensjonale matrisen. I vårt tilfelle er variabelen “ARR”. I neste linje lager vi en annen variabel som holder Apply_over_axis -funksjonens resulterende matrise. Vi tildeler Apply_over_axis -funksjonen til variabelen “ARR” med tre argumenter. Det første argumentet er Numpys innebygde funksjon for å beregne summen som er NP.sum. Den andre parameteren er selve matrisen. Det tredje argumentet er aksen som funksjonen brukes, i dette tilfellet har vi “[0, 2]” -aksen. På slutten av koden utfører vi begge matriser ved hjelp av setningen ().

Importer numpy som NP
arr = np.Array ([[[6, 12, 2], [2, 9, 6], [18, 0, 10]],
[[12, 7, 14], [2, 17, 18], [0, 21, 8]]])
Array = NP.Apply_over_axes (np.Sum, arr, [0,2])
Print ("Den originale matrisen er:", ARR)
trykk ("Summen av matrisen er:", matrise)

Som vist i følgende figur beregnet vi noen av våre tredimensjonale matriser ved å bruke Apply_over_axis-funksjonen. Den første viste matrisen er den originale matrisen med form av “2, 3, 3”, og den andre er summen av radene. Den første radsummen er “53”, den andre er “54” og den siste er “57”.

Konklusjon

I denne artikkelen studerte vi hvordan Apply -funksjonen brukes i Numpy og hvordan vi kan bruke de forskjellige funksjonene på matriser langs eller over aksen. Det er enkelt å bruke en hvilken. Det er en effektiv måte når vi ikke trenger å bruke den på hele matrisen. Vi håper du synes dette innlegget er gunstig når du lærer hvordan du bruker Apply -metoden.