Numpy indeksering

Numpy indeksering
“Numpy er en pakke i Python brukt til beregninger på N-dimensjonale matriser. Akser er det Numpy omtaler som dimensjoner, og en operasjon er hva indeksering er. For å hente en spesifikk samling av verdier fra en numpy matrise, bruk indekseringsfunksjonen. Verdien og plasseringen av verdien i matrisen er forskjellige ting; Dermed må vi huske på at indeksen i en ndarray starter på null. I denne artikkelen vil vi studere numpy indeksering og forklare hvordan du kan hente verdier fra en matrise ved hjelp av indeksene.”

Hva er numpy indeksering?

For å få tilgang til verdier i endimensjonale og flerdimensjonale matriser, bruker Python numpy array indeksering. C-ordreindeksering brukes av numpy. Følgelig er det raskest skiftende minneplassering typisk representert med den endelige indeksen, mens den første indeksen typisk indikerer det samme minneplassen.

Standard Python har syntaks “X [OBJ]”, der X er en matrise, og OBJ (et objekt) er et utvalg. De kan brukes til å indeksere ndaRrays avhengig av objekttypen. De to typene indeksering som vil bli dekket i dag er grunnleggende indeksering og avansert indeksering. Eksemplene vi bruker gjør det enkelt å forstå hvordan du bruker indeksering når vi refererer til data i en matrise.

Eksempel 1

Den første saken er grunnleggende indeksering. Indeksering og inndeling langs array -dimensjoner er kjent som basisindeksering. Det er tre typer grunnleggende indeksering: elementindeksering, grunnleggende skiver og dimensjonale indekseringsverktøy, som inkluderer "ellipser" og "nye akser.”

Vår første sak vil demonstrere bruken av indeksering av enkeltelement i grunnleggende indeksering.

Importer numpy som NP
a = np.Arange (20)
Print (A [8])
Print (A [-5])

Som vi ser fra utgangen, fungerer grunnleggende indeksering nøyaktig som enhver annen standard Python -sekvens. Den er nullbasert og gjør at negative indekser kan starte ved matrisens slutt. Her, ved hjelp av koden, definerte vi først variabelen “A” og passerte verdien ved hjelp av NP.Arange -funksjon, og valgte deretter det negative heltallet 5 for å beregne utgangen.

Eksempel 2

Vårt andre eksempel vil demonstrere bruken av grunnleggende skiver. Grunnleggende skiver utvider det grunnleggende begrepet skiver i pyton til n dimensjoner, og det oppstår når “obj” er en kombinasjon av skiveobjekter og heltall eller et heltallskiveobjekt. Den grunnleggende skive-syntaksen er x: y: z, der x representerer startindeksen, y representerer stoppindeksen, og z er ikke-null trinn.

La oss nå se på koden:

Importer numpy som NP
a = np.Array ([7, 8, 9, 10, 11, 12, 13, 14, 15])
Print (A [2: 11: 3])

Resultatet vi får er:

Negativ x og y tolkes som n + x og + y, der n representerer antall elementer i den tilsvarende dimensjonen. Negativ Z vil føre til å tråkke mot mindre indekser. Ved å bruke de samme verdiene ovenfra, kjører vi følgende kode for å få matrisens resultat. Koden er en [-7: 15], og matrisen er resultatet.

Utgangen er gitt her.

For følgende dimensjoner antas det at det er færre enn N -objekter i utvalget Tuple. Koden er:

Her (2, 3, 1) genereres, som du kan se nedenfor.

Eksempel 3

I dette eksemplet vil vi bruke dimensjonale indekseringsverktøy ellipsis og Newaxis, samt en kombinasjon av de to.

Se vedlagte skjermbilde nedenfor.

Begge disse kodene er lik hverandre, og å kjøre en av disse kodene vil gi samme utgang.

Her er en idé, vi bør delta i to typer indeksering, det grunnleggende og avanserte:

a […, 0]
A [:,:, 0
Importer numpy som NP
trykk ('Kombinasjon av grunnleggende og avansert indeksering:')
a = np.Arange (6)
trykk (a [:, np.newaxis] + a [np.Newaxis ,:])

Den definerte variabelen “A” bruker NP.Arange -funksjon og passerer verdien “6”. Den andre kodelinjen erklærer verdien av variabelen som “[: NP. newaxis] + a [np.Newaxis ,:] ”. Utgangen for å kjøre koden er som nedenfor.

Nå går vi videre til avansert indeksering i numpy indeksering.

Eksempel 4

Denne saken ser på den første typen avansert indeksering, kalt Integer Indexing. Hvert element i den første dimensjonen er sammenkoblet med et element i den andre dimensjonen når indeksering med heltall. Som et resultat er de tilsvarende elementene valgt med elementindeksene (0,0), (1,0) og (2,1) i dette eksemplet.

Importer numpy som NP
a = np.Array ([[7, 8], [9, 10], [11, 12]])
Print (A [[0, 1, 1], [0, 0, 1]])

Utgangen er:

Eksempel 5

For dette eksemplet bør vi prøve å kombinere grunnleggende indeksering og avansert indeksering.

Importer numpy som NP
a = np.Array ([[7, 8, 9], [10, 11, 12],
[13, 14, 15], [16, 17, 18]])
Print (A [1: 2, 1: 3])
Print (A [1: 2, [1,2]])

Først oppgir vi kommandoen for å importere Numpy, deretter definerer vi variabelen “A” og passerer deretter verdien ved hjelp av NP.Array -funksjon. Utgangen vi får er:

Eksempel 6

La oss snakke om boolske uttrykk som indeksen. Det er et logisk uttrykk som resulterer i enten "sant" eller "falsk". Bare de elementene som tilfredsstiller det boolske uttrykket blir returnert. Ved hjelp av denne metoden filtreres de nødvendige elementverdiene.

Scenariet vårt er å velge et tall større enn 15 fra noen verdier. Koden vi kjører er: '

Importer numpy som NP
a = np.Array ([5, 8, 15, 17, 20])
Print (a [a> 15])

Etter å ha definert variabelen og passert verdiene ovenfor til NP.Array -funksjon, vi skriver ut for en verdi som er større enn tallet 15 og får følgende utgang:

Hvis det bare er en boolsk matrise og ingen heltallsarray. La oss kjøre følgende kode:

Importer numpy
ABC = numpy.Arange (15).omforme (3, 5)
YZ = ABC> 20
Print (YZ [:, 3])

Funksjonene vi bruker i denne koden er NP.Arange () og omform.

Når vi utfører koden, får vi følgende resultat.

Konklusjon

I denne artikkelen har vi lært definisjonen av numpy indeksering så vel som to forskjellige typer numpy indeksering, videre delt inn i flere kategorier og funksjoner. Gjennom forskjellige eksempler lærte vi forskjellige måter å bruke numpy indeksering i form av grunnleggende og avansert indeksering. Vi kombinerer også hvilke typer indeksering for å bekrefte hva resultatet ville være. Prøv eksemplene som er gitt og se hvordan de fungerer for deg på vei til å lære om python numpy indeksering.