Waarden Toewijzen aan Geïndexeerde Elementen
Waarden toewijzen aan specifieke elementen of subarrays is nuttig voor het bijwerken van gegevens, het corrigeren van fouten of het toepassen van voorwaarden in datasets. Dit is vooral handig bij taken zoals het vervangen van ongeldige invoer, het aanpassen van waarden voor analyse, of het wijzigen van delen van een array voor simulaties en berekeningen.
Allereerst kunnen we een waarde toewijzen aan een geïndexeerd element van een array. Hier is de algemene syntaxis om dit te bereiken in 1D-arrays: array[i] = n
, waarbij i
een bepaalde index is en n
de waarde is die moet worden toegewezen.
In 2D-arrays hebben we de volgende syntaxis: array[i, j] = n
, waarbij i
en j
respectievelijk de rij- en kolomindices zijn. Voor arrays met hogere dimensies komt het aantal indices overeen met het aantal dimensies.
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)
Opmerking
Als je een waarde van een hoger gegevenstype, zoals een float, toewijst aan een element met een lager gegevenstype, zoals een integer, kan de waarde worden gewijzigd of een fout veroorzaken. Bijvoorbeeld, het toewijzen van
3.5
aan een integer-element zal het opslaan als3
, waarbij het decimale deel verloren gaat.
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)
Er werd geen uitzondering opgeworpen, maar het eerste element kreeg de waarde 10
in plaats van 10.2
. De float
waarde werd omgezet naar een integer omdat dat het dtype
van de array is.
De onderstaande afbeelding toont de structuur van de employee_data
array die in de taak wordt gebruikt:
Swipe to start coding
Je beheert een dataset met informatie over werknemers, waarbij elke rij een werknemer vertegenwoordigt en de kolommen hun salaris en prestatiecijfer vertegenwoordigen. De dataset is opgeslagen in de employee_data
array.
-
Werk het salaris (eerste kolom) van de vierde werknemer bij naar
60000
. -
Gebruik positieve indexering om de waarde te benaderen en te wijzigen.
Oplossing
Bedankt voor je feedback!