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