Waarden 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.
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)
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.
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:
- Wijs de waarde
20toe aan elk element inpricesdat groter is dan 10 (booleaanse indexering) met behulp van een scalair. - Wijs een NumPy-array met de elementen
9,8toe aan de laatste twee elementen van de tweede rij (tweede 1D-array) vanratings. Gebruik een positieve rij-index en een slice waarbij alleenstart(positieve index) is opgegeven.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Waarden 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.
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)
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.
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:
- Wijs de waarde
20toe aan elk element inpricesdat groter is dan 10 (booleaanse indexering) met behulp van een scalair. - Wijs een NumPy-array met de elementen
9,8toe aan de laatste twee elementen van de tweede rij (tweede 1D-array) vanratings. Gebruik een positieve rij-index en een slice waarbij alleenstart(positieve index) is opgegeven.
Oplossing
Bedankt voor je feedback!
single