Tilldela Värden till Indexerade Delarrayer
Med indexerade arrayer blir det mer intressant. Här fokuserar vi på 1D- och 2D-delarrayer, eftersom 3D-delarrayer sällan används i praktiken.
Vi börjar med att tilldela värden till slices. Den generella syntaxen ser ut så här: slice = values, där slice är en del av en array och values är de värden som ska tilldelas.
Möjliga format för values:
- en enskild skalär (tal);
- en 1D-array av samma storlek som slicen (om den är 1D); eller storleken på den andra dimensionen (om slicen är 2D);
- en 2D-array med samma form som en 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)
När vi tilldelar en skalär till en 1D-slice, tilldelas denna skalär till varje element i slicen. När en 1D-array tilldelas en 2D-slice, tilldelas denna 1D-array till varje 1D-array i slicen. Att tilldela en skalär till en 2D-slice fungerar på samma sätt som med en 1D-slice.
Att tilldela värden till heltalsindexerade delarrayer fungerar på samma sätt som med slices. Att tilldela värden till booleskt indexerade delarrayer fungerar på samma sätt som med 1D-slices.
Swipe to start coding
Du hanterar en datamängd med produktpriser och betyg. Priserna lagras i arrayen prices, och betygen (av 10) lagras i arrayen ratings. Din uppgift är att uppdatera dem baserat på specifika kriterier:
- Tilldela värdet
20till varje element ipricessom är större än 10 med hjälp av en skalär. - Tilldela en NumPy-array med elementen
9,8till de två sista elementen i den andra raden avratings. Använd ett positivt radindex och slicing.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 3.85
Tilldela Värden till Indexerade Delarrayer
Svep för att visa menyn
Med indexerade arrayer blir det mer intressant. Här fokuserar vi på 1D- och 2D-delarrayer, eftersom 3D-delarrayer sällan används i praktiken.
Vi börjar med att tilldela värden till slices. Den generella syntaxen ser ut så här: slice = values, där slice är en del av en array och values är de värden som ska tilldelas.
Möjliga format för values:
- en enskild skalär (tal);
- en 1D-array av samma storlek som slicen (om den är 1D); eller storleken på den andra dimensionen (om slicen är 2D);
- en 2D-array med samma form som en 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)
När vi tilldelar en skalär till en 1D-slice, tilldelas denna skalär till varje element i slicen. När en 1D-array tilldelas en 2D-slice, tilldelas denna 1D-array till varje 1D-array i slicen. Att tilldela en skalär till en 2D-slice fungerar på samma sätt som med en 1D-slice.
Att tilldela värden till heltalsindexerade delarrayer fungerar på samma sätt som med slices. Att tilldela värden till booleskt indexerade delarrayer fungerar på samma sätt som med 1D-slices.
Swipe to start coding
Du hanterar en datamängd med produktpriser och betyg. Priserna lagras i arrayen prices, och betygen (av 10) lagras i arrayen ratings. Din uppgift är att uppdatera dem baserat på specifika kriterier:
- Tilldela värdet
20till varje element ipricessom är större än 10 med hjälp av en skalär. - Tilldela en NumPy-array med elementen
9,8till de två sista elementen i den andra raden avratings. Använd ett positivt radindex och slicing.
Lösning
Tack för dina kommentarer!
single