Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Waarden Toewijzen aan Geïndexeerde Subarrays | Indexering en Slicing
Ultieme NumPy

bookWaarden Toewijzen aan Geïndexeerde Subarrays

Met geïndexeerde arrays wordt het interessanter. Hier richten we ons op 1D- en 2D-subarrays, aangezien 3D-subarrays zelden in de praktijk worden gebruikt.

Laten we eerst beginnen met het toewijzen van waarden aan slices. De algemene syntaxis ziet er als volgt uit: slice = values, waarbij slice een deel van een bepaalde array is en values de toe te wijzen waarden zijn.

Mogelijke formaten van values:

  • een enkele scalar (getal);
  • een 1D-array van dezelfde grootte als de slice (indien 1D); of de grootte van de tweede dimensie (indien de slice 2D is);
  • een 2D-array met dezelfde vorm als een 2D-slice.
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

Wanneer een scalar wordt toegewezen aan een 1D-slice, wordt deze scalar toegewezen aan elk element van de slice. Wanneer een 1D-array wordt toegewezen aan een 2D-slice, wordt deze 1D-array toegewezen aan elke 1D-array in de slice. Het toewijzen van een scalar aan een 2D-slice werkt hetzelfde als bij een 1D-slice.

Waarden toewijzen aan subarrays geïndexeerd met een integer array werkt op dezelfde manier als bij slices. Waarden toewijzen aan subarrays geïndexeerd met een booleaanse array werkt op dezelfde manier als bij 1D-slices.

Taak

Swipe to start coding

U beheert een dataset met productprijzen en beoordelingen. De prijzen zijn opgeslagen in de array prices, en de beoordelingen (uit 10) zijn opgeslagen in de array ratings, waarbij elke rij een andere productcategorie vertegenwoordigt. Uw taak is om de prijzen en beoordelingen bij te werken op basis van specifieke criteria:

  1. Wijs de waarde 20 toe aan elk element in prices dat groter is dan 10 (booleaanse indexering) met behulp van een scalair.
  2. Wijs een NumPy-array met de elementen 9, 8 toe aan de laatste twee elementen van de tweede rij (tweede 1D-array) van ratings. Gebruik een positieve rij-index en een slice waarbij alleen start (positieve index) is opgegeven.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 10
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.7

bookWaarden Toewijzen aan Geïndexeerde Subarrays

Veeg om het menu te tonen

Met geïndexeerde arrays wordt het interessanter. Hier richten we ons op 1D- en 2D-subarrays, aangezien 3D-subarrays zelden in de praktijk worden gebruikt.

Laten we eerst beginnen met het toewijzen van waarden aan slices. De algemene syntaxis ziet er als volgt uit: slice = values, waarbij slice een deel van een bepaalde array is en values de toe te wijzen waarden zijn.

Mogelijke formaten van values:

  • een enkele scalar (getal);
  • een 1D-array van dezelfde grootte als de slice (indien 1D); of de grootte van de tweede dimensie (indien de slice 2D is);
  • een 2D-array met dezelfde vorm als een 2D-slice.
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

Wanneer een scalar wordt toegewezen aan een 1D-slice, wordt deze scalar toegewezen aan elk element van de slice. Wanneer een 1D-array wordt toegewezen aan een 2D-slice, wordt deze 1D-array toegewezen aan elke 1D-array in de slice. Het toewijzen van een scalar aan een 2D-slice werkt hetzelfde als bij een 1D-slice.

Waarden toewijzen aan subarrays geïndexeerd met een integer array werkt op dezelfde manier als bij slices. Waarden toewijzen aan subarrays geïndexeerd met een booleaanse array werkt op dezelfde manier als bij 1D-slices.

Taak

Swipe to start coding

U beheert een dataset met productprijzen en beoordelingen. De prijzen zijn opgeslagen in de array prices, en de beoordelingen (uit 10) zijn opgeslagen in de array ratings, waarbij elke rij een andere productcategorie vertegenwoordigt. Uw taak is om de prijzen en beoordelingen bij te werken op basis van specifieke criteria:

  1. Wijs de waarde 20 toe aan elk element in prices dat groter is dan 10 (booleaanse indexering) met behulp van een scalair.
  2. Wijs een NumPy-array met de elementen 9, 8 toe aan de laatste twee elementen van de tweede rij (tweede 1D-array) van ratings. Gebruik een positieve rij-index en een slice waarbij alleen start (positieve index) is opgegeven.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 10
single

single

some-alt