NumPy Set-bewerkingen
Wat is een set?
Een set in de wiskunde is een verzameling unieke elementen.
Sets worden gebruikt voor bewerkingen met frequente snij-, verbindings- en verschilbewerkingen.
Sets maken in NumPy
We kunnen de unique()
methode van NumPy gebruiken om unieke elementen uit elke array te vinden. Maak bijvoorbeeld een set-array, maar onthoud dat de set-arrays alleen 1-D-arrays mogen zijn.
Voorbeeld
Converteer de volgende array met herhaalde elementen naar een set:
import numpy as np
arr = np.array([1, 1, 1, 2, 3, 4, 5, 5, 6, 7])
x = np.unique(arr)
print(x)
Unie vinden
Gebruik de union1d()
methode om de unieke waarden van twee arrays te vinden.
Voorbeeld
Vind unie van de volgende twee reeksarrays:
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
newarr = np.union1d(arr1, arr2)
print(newarr)
Kruispunt vinden
Gebruik de intersect1d()
methode om alleen de waarden te vinden die in beide arrays aanwezig zijn.
Voorbeeld
Zoek het snijpunt van de volgende twee reeksarrays:
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
newarr = np.intersect1d(arr1, arr2, assume_unique=True)
print(newarr)
Opmerking: de intersect1d()
methode heeft een optioneel argument assume_unique
dat, indien ingesteld op True, de berekening kan versnellen. Het moet altijd worden ingesteld op True bij het omgaan met sets.
Verschil zoeken
Gebruik de setdiff1d()
methode om alleen de waarden in de eerste set te vinden die NIET aanwezig zijn in de secondenset.
Voorbeeld
Zoek het verschil tussen set1 en set2:
import numpy as np
set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])
newarr = np.setdiff1d(set1, set2, assume_unique=True)
print(newarr)
Opmerking: de setdiff1d()
methode heeft een optioneel argument assume_unique
dat, indien ingesteld op True, de berekening kan versnellen. Het moet altijd worden ingesteld op True bij het omgaan met sets.
Symmetrisch verschil vinden
Gebruik de setxor1d()
methode om alleen de waarden te vinden die NIET aanwezig zijn in BEIDE sets.
Voorbeeld
Zoek het symmetrische verschil tussen set1 en set2:
import numpy as np
set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])
newarr = np.setxor1d(set1, set2, assume_unique=True)
print(newarr)
Opmerking: de setxor1d()
methode heeft een optioneel argument assume_unique
dat, indien ingesteld op True, de berekening kan versnellen. Het moet altijd worden ingesteld op True bij het omgaan met sets.