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.