Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Tilordning av Verdier til Indekserte Delmatriser | Indeksering og Utsnitt
Ultimate NumPy

bookTilordning av Verdier til Indekserte Delmatriser

Med indekserte arrayer blir ting mer interessante. Her fokuserer vi på 1D- og 2D-delarrayer, siden 3D-delarrayer sjelden brukes i praksis.

La oss først se på tildeling av verdier til utdrag. Den generelle syntaksen ser slik ut: slice = values, hvor slice er et utdrag av en bestemt array og values er verdiene som skal tildeles.

Mulige formater for values:

  • en enkel skalar (tall);
  • en 1D-array med samme størrelse som utdraget (hvis det er 1D); eller størrelsen på den andre dimensjonen (hvis utdraget er 2D);
  • en 2D-array med samme form som et 2D-utdrag.
123456789101112131415161718
import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
copy

Når vi tildeler en skalar til et 1D-utdrag, blir denne skalaren tildelt hver enkelt element i utdraget. Når en 1D-array tildeles et 2D-utdrag, blir denne 1D-arrayen tildelt hver 1D-array i utdraget. Å tildele en skalar til et 2D-utdrag fungerer på samme måte som med et 1D-utdrag.

Tildeling av verdier til heltallsindekserte delarrayer fungerer på samme måte som med utdrag. Tildeling av verdier til boolsk indekserte delarrayer fungerer på samme måte som med 1D-utdrag.

Oppgave

Swipe to start coding

Du administrerer et datasett med produktpriser og vurderinger. Prisene er lagret i prices-arrayet, og vurderingene (av 10) er lagret i ratings-arrayet, der hver rad representerer en forskjellig produktkategori. Din oppgave er å oppdatere prisene og vurderingene basert på spesifikke kriterier:

  1. Tildel verdien 20 til hvert element i prices som er større enn 10 (boolsk indeksering) ved å bruke en skalar.
  2. Tildel et NumPy-array med elementene 9, 8 til de to siste elementene i den andre raden (andre 1D-array) i ratings. Bruk en positiv radindeks og en slice som kun spesifiserer start (positiv indeks).

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 10
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

Awesome!

Completion rate improved to 3.7

bookTilordning av Verdier til Indekserte Delmatriser

Sveip for å vise menyen

Med indekserte arrayer blir ting mer interessante. Her fokuserer vi på 1D- og 2D-delarrayer, siden 3D-delarrayer sjelden brukes i praksis.

La oss først se på tildeling av verdier til utdrag. Den generelle syntaksen ser slik ut: slice = values, hvor slice er et utdrag av en bestemt array og values er verdiene som skal tildeles.

Mulige formater for values:

  • en enkel skalar (tall);
  • en 1D-array med samme størrelse som utdraget (hvis det er 1D); eller størrelsen på den andre dimensjonen (hvis utdraget er 2D);
  • en 2D-array med samme form som et 2D-utdrag.
123456789101112131415161718
import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
copy

Når vi tildeler en skalar til et 1D-utdrag, blir denne skalaren tildelt hver enkelt element i utdraget. Når en 1D-array tildeles et 2D-utdrag, blir denne 1D-arrayen tildelt hver 1D-array i utdraget. Å tildele en skalar til et 2D-utdrag fungerer på samme måte som med et 1D-utdrag.

Tildeling av verdier til heltallsindekserte delarrayer fungerer på samme måte som med utdrag. Tildeling av verdier til boolsk indekserte delarrayer fungerer på samme måte som med 1D-utdrag.

Oppgave

Swipe to start coding

Du administrerer et datasett med produktpriser og vurderinger. Prisene er lagret i prices-arrayet, og vurderingene (av 10) er lagret i ratings-arrayet, der hver rad representerer en forskjellig produktkategori. Din oppgave er å oppdatere prisene og vurderingene basert på spesifikke kriterier:

  1. Tildel verdien 20 til hvert element i prices som er større enn 10 (boolsk indeksering) ved å bruke en skalar.
  2. Tildel et NumPy-array med elementene 9, 8 til de to siste elementene i den andre raden (andre 1D-array) i ratings. Bruk en positiv radindeks og en slice som kun spesifiserer start (positiv indeks).

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 10
single

single

some-alt