Tilldela Värden till Indexerade Element
Att tilldela värden till specifika element eller subarrayer är användbart för att uppdatera data, korrigera fel eller tillämpa villkor i dataset. Detta är särskilt hjälpsamt i uppgifter som att ersätta ogiltiga poster, justera värden för analys eller modifiera delar av en array för simuleringar och beräkningar.
Först och främst kan vi tilldela ett värde till ett indexerat element i en array. Här är den allmänna syntaxen för att uppnå detta i 1D-arrayer: array[i] = n
, där i
är ett visst index och n
är värdet som ska tilldelas.
I 2D-arrayer har vi följande syntax: array[i, j] = n
, där i
och j
är rad och kolumn index, respektive. För högre-dimensionella arrayer motsvarar antalet index antalet dimensioner.
import numpy as np array_1d = np.array([1, 4, 6, 2]) # Assigning 10 to the first element of array_1d array_1d[0] = 10 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Assigning 8 to the element in the second row and column of array_2d array_2d[1, 1] = 8 print(array_2d)
Note
Om du tilldelar ett värde av en högre datatyp, som en float, till ett element med en lägre datatyp, som ett heltal, kan värdet ändras eller orsaka ett fel. Till exempel, att tilldela
3.5
till ett heltalselement kommer att lagra det som3
, vilket förlorar decimaldelen.
import numpy as np array_1d = np.array([1, 4, 6, 2]) # Assigning 10.2 to the first element of array_1d array_1d[0] = 10.2 print(array_1d)
Inget undantag kastades, men det första elementet tilldelades värdet 10
istället för 10.2
. float
-värdet konverterades till ett heltal eftersom det är dtype
för arrayen.
Bilden nedan visar strukturen för employee_data
-arrayen som används i uppgiften:
Swipe to start coding
Du hanterar en dataset med anställdas information, där varje rad representerar en anställd, och kolumnerna representerar deras lön och prestandapoäng. Datasetet lagras i employee_data
arrayen.
-
Uppdatera lönen (första kolumnen) för den fjärde anställda till
60000
. -
Använd positiv indexering för att komma åt och ändra värdet.
Lösning
Tack för dina kommentarer!