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 | Indexeren en Snijden
Ultieme NumPy

Veeg om het menu te tonen

book
Waarden Toewijzen aan Geïndexeerde Subarrays

Met geïndexeerde arrays beginnen de dingen interessanter te worden. Hier zullen we ons concentreren 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 slice 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 (als het 1D is); of de grootte van de tweede dimensie (als de slice 2D is);

  • een 2D array van 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 we een scalar toewijzen 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.

Het toewijzen van waarden aan integer array geïndexeerde subarrays werkt op dezelfde manier als bij slices. Het toewijzen van waarden aan boolean geïndexeerde subarrays werkt op dezelfde manier als bij 1D-slices.

Taak

Swipe to start coding

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

  1. Ken de waarde 20 toe aan elk element in prices groter dan 10 (boolean indexing) met behulp van een scalar.
  2. Ken een NumPy array met 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 die alleen start (positieve index) specificeert.

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
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?

Vraag AI

expand
ChatGPT

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

book
Waarden Toewijzen aan Geïndexeerde Subarrays

Met geïndexeerde arrays beginnen de dingen interessanter te worden. Hier zullen we ons concentreren 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 slice 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 (als het 1D is); of de grootte van de tweede dimensie (als de slice 2D is);

  • een 2D array van 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 we een scalar toewijzen 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.

Het toewijzen van waarden aan integer array geïndexeerde subarrays werkt op dezelfde manier als bij slices. Het toewijzen van waarden aan boolean geïndexeerde subarrays werkt op dezelfde manier als bij 1D-slices.

Taak

Swipe to start coding

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

  1. Ken de waarde 20 toe aan elk element in prices groter dan 10 (boolean indexing) met behulp van een scalar.
  2. Ken een NumPy array met 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 die alleen start (positieve index) specificeert.

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
Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt