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_uniquedat, 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_uniquedat, 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_uniquedat, indien ingesteld op True, de berekening kan versnellen. Het moet altijd worden ingesteld op True bij het omgaan met sets.