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 delarrayer | Indeksering og Slicing
Numpy-Grunnleggende
Seksjon 2. Kapittel 10
single

single

bookTilordning av verdier til indekserte delarrayer

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 en skalar tildeles et 1D-utvalg, blir denne skalarverdien tildelt alle elementene i utvalget. Når et 1D-array tildeles et 2D-utvalg, blir dette 1D-arrayet tildelt hver 1D-array i utvalget. Å tildele en skalar til et 2D-utvalg fungerer på samme måte som med et 1D-utvalg.

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

Oppgave

Sveip for å begynne å kode

Du administrerer et datasett med produktpriser og vurderinger. Prisene er lagret i prices-arrayet, og vurderingene (av 10) er lagret i ratings-arrayet. Oppgaven din er å oppdatere dem basert på spesifikke kriterier:

  1. Tildel verdien 20 til hvert element i prices som er større enn 10 ved å bruke en skalar.
  2. Tildel et NumPy-array med elementene 9, 8 til de to siste elementene i andre rad av ratings. Bruk en positiv radindeks og slicing.

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

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

some-alt