Obtenez des combinaisons de deux tableaux dans NumPy
-
Obtenez des combinaisons de tableaux NumPy avec la fonction
itertools.product()
en Python -
Obtenir des combinaisons de tableaux NumPy avec la fonction
numpy.meshgrid()
en Python -
Obtenez des combinaisons de tableaux NumPy avec la méthode
for-in
en Python
Cet article présentera comment trouver le produit cartésien de deux tableaux NumPy en Python.
Obtenez des combinaisons de tableaux NumPy avec la fonction itertools.product()
en Python
Le package itertools
fournit de nombreuses fonctions liées à la combinaison et à la permutation. On peut utiliser le itertools.product()
function produit cartésien de deux itérables. La fonction itertools.product()
prend les itérables comme paramètres d’entrée et retourne le produit cartésien des itérables.
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)
Production:
(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)
(2, 3)
(3, 1)
(3, 2)
(3, 3)
Dans le code ci-dessus, nous avons calculé le produit croisé cartésien du array
avec lui-même en utilisant la fonction product()
à l’intérieur du package itertools
et stocké le résultat dans combinations
.
Obtenir des combinaisons de tableaux NumPy avec la fonction numpy.meshgrid()
en Python
Nous pouvons également utiliser la fonction meshgrid()
dans le package NumPy pour calculer le produit cartésien de deux tableaux NumPy. La fonction numpy.meshgrid()
prend les tableaux comme arguments d’entrée et renvoie le produit croisé des deux tableaux.
import numpy as np
array = np.array([1, 2, 3])
combinations = np.array(np.meshgrid(array, array)).T.reshape(-1, 2)
print(combinations)
Production:
[[1 1]
[1 2]
[1 3]
[2 1]
[2 2]
[2 3]
[3 1]
[3 2]
[3 3]]
Dans le code ci-dessus, nous avons calculé le produit croisé cartésien du array
avec lui-même en utilisant la fonction meshgrid()
dans NumPy. Nous avons ensuite converti le résultat de cette opération en un tableau avec la fonction np.array()
et l’avons remodelé avec la fonction numpy.reshape()
. Nous avons ensuite stocké le nouveau résultat remodelé à l’intérieur du tableau combinaisons
.
Obtenez des combinaisons de tableaux NumPy avec la méthode for-in
en Python
Une autre méthode plus simple pour atteindre le même objectif que les deux exemples précédents consiste à utiliser l’itérateur for-in
. L’itérateur for-in
est utilisé pour parcourir chaque élément à l’intérieur d’un itérable en Python. Cette méthode peut être utilisée sans importer de nouveau package ou bibliothèque.
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)
Production:
[[1 1]
[1 2]
[1 3]
[2 1]
[2 2]
[2 3]
[3 1]
[3 2]
[3 3]]
Nous avons calculé le produit croisé cartésien des deux tableaux à l’aide d’un itérateur for-in
imbriqué dans le code ci-dessus. Nous avons enregistré le résultat dans le tableau NumPy combinations
avec la fonction np.array()
.
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