Operace NumPy Set


Co je sada

Sada v matematice je sbírka jedinečných prvků.

Množiny se používají pro operace zahrnující časté křížení, spojování a rozdílové operace.


Vytvořte sady v NumPy

Můžeme použít unique()metodu NumPy k nalezení jedinečných prvků z libovolného pole. Např. vytvořte množinové pole, ale nezapomeňte, že množina polí by měla být pouze 1-D pole.

Příklad

Převeďte následující pole s opakovanými prvky na sadu:

import numpy as np

arr = np.array([1, 1, 1, 2, 3, 4, 5, 5, 6, 7])

x = np.unique(arr)

print(x)

Hledání Unie

Chcete-li najít jedinečné hodnoty dvou polí, použijte union1d()metodu.

Příklad

Najděte spojení následujících dvou sad polí:

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)

Hledání křižovatky

Chcete-li najít pouze hodnoty, které jsou přítomny v obou polích, použijte intersect1d()metodu.

Příklad

Najděte průsečík následujících dvou množin polí:

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)

Poznámka: metoda intersect1d()přebírá volitelný argument assume_unique, který, pokud je nastaven na True, může urychlit výpočet. Při práci se sadami by měla být vždy nastavena na hodnotu True.


Hledání rozdílu

Chcete-li najít pouze hodnoty v první sadě, která NENÍ přítomna v sadě sekund, použijte setdiff1d()metodu.

Příklad

Najděte rozdíl mezi množinou 1 a množinou 2:

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)

Poznámka: metoda setdiff1d()přebírá volitelný argument assume_unique, který, pokud je nastaven na True, může urychlit výpočet. Při práci se sadami by měla být vždy nastavena na hodnotu True.


Nalezení symetrického rozdílu

Chcete-li najít pouze hodnoty, které NEJSOU přítomny v OBOU sadách, použijte setxor1d()metodu.

Příklad

Najděte symetrický rozdíl množiny1 a množiny2:

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)

Poznámka: metoda setxor1d()přebírá volitelný argument assume_unique, který, pokud je nastaven na True, může urychlit výpočet. Při práci se sadami by měla být vždy nastavena na hodnotu True.