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(
    [
        "Andrea",
        "Tim",
        "Veit",
        "Tim",
    ],
)
[2]:
np.unique(names)
[2]:
array(['Andrea', 'Tim', 'Veit'], 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.isin(names, ["Tim", "Tom"])
[3]:
array([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