Mischen eines Arrays in Python
-
Mischen eines Arrays in Python mit der Methode
random.shuffle()
-
Mischen eines Arrays in Python mit der Methode
shuffle()
des Modulssklearn
In diesem Tutorial werden wir uns mit den verschiedenen Methoden zum Mischen eines Arrays in Python beschäftigen. Das Mischen eines Arrays bedeutet, dass die Positionen der Elemente im Array neu angeordnet werden. Eine der Anwendungen für das Mischen von Arrays ist das Modelltraining, bei dem wir unseren Datensatz mischen müssen, um die Trainingsqualität des Modells zu verbessern. Es könnte auch in vielen Anwendungen der Statistik verwendet werden.
Mischen eines Arrays in Python mit der Methode random.shuffle()
Die Methode random.shuffle()
nimmt eine Sequenz als Eingabe und mischt sie. Wichtig dabei ist, dass random.shuffle()
keine neue Sequenz als Ausgabe zurückgibt, sondern die ursprüngliche Sequenz mischt. Daher kann die gültige Eingabesequenz nur ein veränderlicher Datentyp wie ein Array oder eine Liste etc. sein.
Die Methode random.shuffle()
funktioniert nur bei 1D-Sequenzen. Der folgende Beispielcode demonstriert, wie die Methode random.shuffle()
zum Mischen eines Arrays in Python verwendet werden kann.
import random
import numpy as np
mylist = ["apple", "banana", "cherry"]
x = np.array((2, 3, 21, 312, 31, 31, 3123, 131))
print(x)
print(mylist)
random.shuffle(mylist)
random.shuffle(x)
print(x)
print(mylist)
Ausgabe:
[ 2 3 21 312 31 31 3123 131]
['apple', 'banana', 'cherry']
[3123 21 312 3 2 131 31 31]
['banana', 'apple', 'cherry']
Mischen eines Arrays in Python mit der Methode shuffle()
des Moduls sklearn
Die Methode sklearn.utils.shuffle(array, random_state, n_samples)
nimmt indizierbare Sequenzen wie Arrays, Listen oder Dataframes etc. mit der gleichen ersten Dimension als Eingabe und gibt die Kopien der gemischten Sequenzen zurück, die als Eingabe bereitgestellt werden.
Die Methode sklearn.utils.shuffle()
verändert die ursprüngliche Eingabe nicht, sondern gibt die gemischte Kopie der Eingabe zurück. Die Eingabe kann eine einzelne oder mehrere Sequenzen sein. Der Parameter random_state
wird verwendet, um die Zufallsgenerierung von Zahlen zu steuern. Wenn er auf eine ganze Zahl gesetzt ist, gibt die Methode jedes Mal die gleiche gemischte Sequenz zurück. Der Parameter n_samples
stellt die Anzahl der Samples dar. Sein Standardwert ist gleich der ersten Dimension der Eingabevorgabe und sollte nicht größer als die Länge des/der Eingabe-Arrays sein.
sklearn.utils.shuffle()
nur die Zeilen mischen.Der folgende Beispielcode demonstriert, wie die Methode sklearn.utils.shuffle()
verwendet wird, um ein gemischtes Array (Arrays) in Python zu erhalten.
from sklearn.utils import shuffle
import numpy as np
x = np.array([[1, 2, 3], [6, 7, 8], [9, 10, 12]])
y = ["one", "two", "three"]
z = [4, 5, 6]
print(x)
print(y)
print(z)
x, y, z = shuffle(x, y, z, random_state=0)
print(x)
print(y)
print(z)
Ausgabe:
[[ 1 2 3]
[ 6 7 8]
[ 9 10 12]]
['one', 'two', 'three']
[4, 5, 6]
[[ 9 10 12]
[ 6 7 8]
[ 1 2 3]]
['three', 'two', 'one']
[6, 5, 4]