unique und andere Mengenlogik#

NumPy hat einige grundlegende Mengenoperationen für eindimensionale ndarray. Eine häufig verwendete ist numpy.unique, die die sortierten eindeutigen Werte in einem Array zurückgibt:

[1]:
import numpy as np

names = np.array(['Liam', 'Olivia', 'Noah', 'Liam', 'Noah', 'Olivia', 'Liam', 'Emma', 'Oliver', 'Ava'])
[2]:
np.unique(names)
[2]:
array(['Ava', 'Emma', 'Liam', 'Noah', 'Oliver', 'Olivia'], dtype='<U6')

Mit numpy.in1d lässt sich die Zugehörigkeit der Werte in einem eindimensionalen Array zu einem anderen Array überprüfen wobei ein boolesches Array zurückgegeben wird:

[3]:
np.in1d(names, ['Emma', 'Ava', 'Charlotte'])
[3]:
array([False, False, False, False, False, False, False,  True, False,
        True])

Array-Mengenoperationen:

Methode

Beschreibung

unique(x)

berechnet die sortierten, eindeutigen Elemente in x

intersect1d(x, y)

berechnet die sortierten, gemeinsamen Elemente in x und y

union1d(x, y)

berechnet die sortierte Vereinigung von Elementen

in1d(x, y)

berechnet ein boolesches Array, das angibt, ob jedes Element von x in y enthalten ist

setdiff1d(x, y)

setzt die Differenz der Elemente in x, die nicht in y enthalten sind

setxor1d(x, y)

setzt symmetrische Differenzen; Elemente, die in einem der Arrays enthalten sind, aber nicht in beiden