Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Tildeling af værdier til indekserede underarrayer | Indeksering og Udskæring
Numpy-Grundlæggende
Sektion 2. Kapitel 10
single

single

bookTildeling af værdier til indekserede underarrayer

Stryg for at vise menuen

Med indekserede arrays bliver tingene mere interessante. Her fokuserer vi på 1D- og 2D-delarrays, da 3D-delarrays sjældent anvendes i praksis.

Lad os først begynde med at tildele værdier til slices. Den generelle syntaks ser sådan ud: slice = values, hvor slice er et udsnit af et bestemt array, og values er de værdier, der skal tildeles.

Mulige formater for values:

  • en enkelt skalar (tal);
  • et 1D-array af samme størrelse som udsnittet (hvis det er 1D); eller størrelsen af den anden dimension (hvis udsnittet er 2D);
  • et 2D-array med samme form som et 2D-udsnit.
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-udsnit, bliver denne skalar tildelt hver enkelt element i udsnittet. Når et 1D-array tildeles et 2D-udsnit, bliver dette 1D-array tildelt hver 1D-array i udsnittet. Tildeling af en skalar til et 2D-udsnit fungerer på samme måde som med et 1D-udsnit.

Tildeling af værdier til heltalsarray-indekserede del-arrays fungerer på samme måde som med udsnit. Tildeling af værdier til boolesk-indekserede del-arrays fungerer på samme måde som med 1D-udsnit.

Opgave

Swipe to start coding

Du administrerer et datasæt med produktpriser og bedømmelser. Priserne er gemt i arrayet prices, og bedømmelserne (ud af 10) er gemt i arrayet ratings. Din opgave er at opdatere dem baseret på specifikke kriterier:

  1. Tildel værdien 20 til hvert element i prices, der er større end 10, ved hjælp af en skalar.
  2. Tildel et NumPy-array med elementerne 9, 8 til de sidste to elementer i anden række af ratings. Brug en positiv rækkeindeks og slicing.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 10
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt