Holen Sie sich Kombinationen aus zwei Arrays in NumPy
-
Holen Sie sich NumPy-Array-Kombinationen mit der Funktion
itertools.product()
in Python -
Holen Sie sich NumPy-Array-Kombinationen mit der Funktion
numpy.meshgrid()
in Python -
Holen Sie sich NumPy-Array-Kombinationen mit der
for-in
-Methode in Python
In diesem Artikel erfahren Sie, wie Sie das kartesische Produkt zweier NumPy-Arrays in Python finden.
Holen Sie sich NumPy-Array-Kombinationen mit der Funktion itertools.product()
in Python
Das Paket itertools
bietet viele Funktionen rund um die Kombination und Permutation. Wir können das itertools.product()
-Funktion kartesische Produkt von zwei Iterablen verwenden. Die Funktion itertools.product()
nimmt die Iterables als Eingabeparameter und gibt das kartesische Produkt der Iterables zurück.
import itertools as it
import numpy as np
array = np.array([1, 2, 3])
combinations = it.product(array, array)
for combination in combinations:
print(combination)
Ausgabe:
(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)
(2, 3)
(3, 1)
(3, 2)
(3, 3)
Im obigen Code haben wir das kartesische Kreuzprodukt des Arrays
mit sich selbst mit der Funktion product()
innerhalb des itertools
-Pakets berechnet und das Ergebnis in combinations
gespeichert.
Holen Sie sich NumPy-Array-Kombinationen mit der Funktion numpy.meshgrid()
in Python
Wir können auch die meshgrid()
-Funktion innerhalb des NumPy-Pakets verwenden, um das kartesische Produkt zweier NumPy-Arrays zu berechnen. Die Funktion numpy.meshgrid()
nimmt die Arrays als Eingabeargumente und gibt das Kreuzprodukt der beiden Arrays zurück.
import numpy as np
array = np.array([1, 2, 3])
combinations = np.array(np.meshgrid(array, array)).T.reshape(-1, 2)
print(combinations)
Ausgabe:
[[1 1]
[1 2]
[1 3]
[2 1]
[2 2]
[2 3]
[3 1]
[3 2]
[3 3]]
Im obigen Code haben wir das kartesische Kreuzprodukt des Arrays
mit sich selbst berechnet, indem wir die Funktion meshgrid()
in NumPy verwendet haben. Das Ergebnis dieser Operation haben wir dann mit der Funktion np.array()
in ein Array umgewandelt und mit der Funktion numpy.reshape()
umgeformt. Wir haben dann das neue umgeformte Ergebnis im Array combinations
gespeichert.
Holen Sie sich NumPy-Array-Kombinationen mit der for-in
-Methode in Python
Eine andere einfachere Methode, das gleiche Ziel wie in den beiden vorherigen Beispielen zu erreichen, ist die Verwendung des Iterators for-in
. Der for-in
-Iterator wird verwendet, um jedes Element innerhalb eines Iterables in Python zu iterieren. Diese Methode kann verwendet werden, ohne ein neues Paket oder eine neue Bibliothek zu importieren.
import numpy as np
array = np.array([1, 2, 3])
array2 = np.array([1, 2, 3])
combinations = np.array([(i, j) for i in array for j in array2])
print(combinations)
Ausgabe:
[[1 1]
[1 2]
[1 3]
[2 1]
[2 2]
[2 3]
[3 1]
[3 2]
[3 3]]
Wir haben das kartesische Kreuzprodukt beider Arrays mit einem verschachtelten for-in
-Iterator im obigen Code berechnet. Das Ergebnis haben wir im NumPy-Array combinations
mit der Funktion np.array()
gespeichert.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn