Tildeling af Værdier til Indekserede Underarrayer
Med indekserede arrays bliver tingene mere interessante. Her fokuserer vi på 1D og 2D del-arrays, da 3D del-arrays sjældent anvendes i praksis.
Lad os først begynde med at tildele værdier til slices. Den generelle syntaks ser således 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.
123456789101112131415161718import 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)
Når vi tildeler en skalar til et 1D-udsnit, tildeles denne skalar til hver enkelt element i udsnittet. Når et 1D-array tildeles et 2D-udsnit, tildeles dette 1D-array til 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 heltalsindekserede del-arrays fungerer på samme måde som med slices. Tildeling af værdier til boolesk-indekserede del-arrays fungerer på samme måde som med 1D-slices.
Swipe to start coding
Du administrerer et datasæt med produktpriser og bedømmelser. Priserne er gemt i prices-arrayet, og bedømmelserne (ud af 10) er gemt i ratings-arrayet, hvor hver række repræsenterer en forskellig produktkategori. Din opgave er at opdatere priser og bedømmelser baseret på specifikke kriterier:
- Tildel værdien
20til hvert element iprices, der er større end 10 (boolesk indeksering) ved brug af en skalar. - Tildel et NumPy-array med elementerne
9,8til de to sidste elementer i anden række (anden 1D-array) afratings. Brug et positivt rækkeindeks og et slice, der kun angiverstart(positivt indeks).
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain what happens if the shapes of the assigned values and the slice don't match?
Can you show more examples of assigning values to slices using boolean indexing?
What is the difference between assigning a 1D array and a 2D array to a 2D slice?
Awesome!
Completion rate improved to 3.7
Tildeling 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 del-arrays, da 3D del-arrays sjældent anvendes i praksis.
Lad os først begynde med at tildele værdier til slices. Den generelle syntaks ser således 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.
123456789101112131415161718import 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)
Når vi tildeler en skalar til et 1D-udsnit, tildeles denne skalar til hver enkelt element i udsnittet. Når et 1D-array tildeles et 2D-udsnit, tildeles dette 1D-array til 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 heltalsindekserede del-arrays fungerer på samme måde som med slices. Tildeling af værdier til boolesk-indekserede del-arrays fungerer på samme måde som med 1D-slices.
Swipe to start coding
Du administrerer et datasæt med produktpriser og bedømmelser. Priserne er gemt i prices-arrayet, og bedømmelserne (ud af 10) er gemt i ratings-arrayet, hvor hver række repræsenterer en forskellig produktkategori. Din opgave er at opdatere priser og bedømmelser baseret på specifikke kriterier:
- Tildel værdien
20til hvert element iprices, der er større end 10 (boolesk indeksering) ved brug af en skalar. - Tildel et NumPy-array med elementerne
9,8til de to sidste elementer i anden række (anden 1D-array) afratings. Brug et positivt rækkeindeks og et slice, der kun angiverstart(positivt indeks).
Løsning
Tak for dine kommentarer!
single