NumPy Shuffle deux tableaux
-
NumPy Shuffle Two Arrays avec la fonction
sklearn.utils.shuffle()
en Python -
NumPy Shuffle Two Arrays avec la fonction
numpy.random.shuffle()
-
NumPy Shuffle deux tableaux correspondants avec la fonction
numpy.random.permutation()
en Python
Ce tutoriel présentera comment mélanger deux tableaux NumPy en Python.
NumPy Shuffle Two Arrays avec la fonction sklearn.utils.shuffle()
en Python
Supposons que nous ayons deux tableaux de même longueur ou de mêmes dimensions principales, et que nous voulions les mélanger tous les deux de manière à ce que les éléments correspondants dans les deux tableaux restent correspondants. Dans ce cas, nous pouvons utiliser la fonction shuffle()
dans la bibliothèque sklean.utils
en Python. Cette fonction shuffle()
prend les tableaux comme paramètres d’entrée, les mélange de manière cohérente et renvoie une copie mélangée de chaque tableau. Voir l’exemple de code suivant.
import numpy as np
from sklearn import utils
array1 = np.array([[0, 0], [1, 1], [2, 2]])
array2 = np.array([0, 1, 2])
array1, array2 = utils.shuffle(array1, array2)
print(array1)
print(array2)
Production:
[[0 0]
[2 2]
[1 1]]
[0 2 1]
Dans le code ci-dessus, nous avons mélangé les deux tableaux, array1
et array2
, avec la fonction shuffle()
à l’intérieur de la bibliothèque sklearn.utils
en Python. Nous avons d’abord créé les deux tableaux avec la fonction np.array()
. Nous avons ensuite mélangé les tableaux avec la fonction shuffle()
dans la bibliothèque sklearn.utils
et enregistré les tableaux mélangés dans array1
et array2
. En fin de compte, nous avons imprimé les éléments à l’intérieur des deux tableaux. La sortie montre que les éléments des deux tableaux correspondent même après le brassage.
NumPy Shuffle Two Arrays avec la fonction numpy.random.shuffle()
Si nous ne voulons pas importer le package sklearn
et que nous voulons atteindre le même objectif que le précédent en utilisant le package NumPy, nous pouvons utiliser la fonction shuffle()
à l’intérieur de la bibliothèque numpy.random
. Cette fonction shuffle()
prend une séquence et la rend aléatoire. Nous pouvons ensuite utiliser cette séquence aléatoire comme index pour les deux tableaux afin de les mélanger. L’exemple de code suivant nous montre comment mélanger deux tableaux avec la fonction numpy.random.shuffle()
.
import numpy as np
array1 = np.array([[0, 0], [1, 1], [2, 2]])
array2 = np.array([0, 1, 2])
randomize = np.arange(len(array2))
np.random.shuffle(randomize)
array1 = array1[randomize]
array2 = array2[randomize]
print(array1)
print(array2)
Production:
[[2 2]
[0 0]
[1 1]]
[2 0 1]
Nous avons d’abord créé les tableaux avec la fonction np.array()
. Nous avons ensuite créé une séquence d’entiers égale à la longueur du deuxième tableau avec la fonction np.arange(len(array2))
. Après cela, nous avons randomisé la séquence avec la fonction shuffle()
à l’intérieur de la bibliothèque np.random
et l’avons utilisée comme index pour les deux tableaux afin de les mélanger.
NumPy Shuffle deux tableaux correspondants avec la fonction numpy.random.permutation()
en Python
Nous pouvons également utiliser la fonction permutation()
dans la bibliothèque numpy.random
pour créer une séquence aléatoire d’entiers dans une plage spécifiée en Python. Cette séquence peut ensuite être utilisée comme index pour les deux tableaux afin de les mélanger.
import numpy as np
def shuffle(x, y):
p = np.random.permutation(len(y))
return x[p], y[p]
array1 = np.array([[0, 0], [1, 1], [2, 2]])
array2 = np.array([0, 1, 2])
array1, array2 = shuffle(array1, array2)
print(array1)
print(array2)
Production:
[[0 0]
[2 2]
[1 1]]
[0 2 1]
Dans le code ci-dessus, nous avons défini une fonction shuffle()
qui prend deux tableaux et les rend aléatoires avec la fonction permutation()
à l’intérieur de la bibliothèque numpy.random
en Python. Nous avons spécifié que la longueur de la séquence aléatoire est égale au nombre d’éléments du deuxième tableau avec la fonction len(y)
. Nous avons ensuite utilisé la séquence aléatoire p
comme indice pour les deux tableaux et les avons renvoyés. Les tableaux mélangés renvoyés par la fonction shuffle()
sont stockés dans les tableaux array1
et array2
.
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