Mescola un array in Python
-
Mescola un array in Python usando il metodo
random.shuffle()
-
Mescola un array in Python usando il metodo
shuffle()
del modulosklearn
In questo tutorial, esamineremo i vari metodi per mescolare un array in Python. Il mescolamento di un array significa riorganizzare le posizioni degli elementi nell’array. Una delle applicazioni di mescolamento degli array è nell’addestramento del modello, in cui dobbiamo mescolare il nostro set di dati per migliorare la qualità dell’addestramento del modello. Potrebbe anche essere utilizzato in molte applicazioni di statistica.
Mescola un array in Python usando il metodo random.shuffle()
Il metodo random.shuffle()
prende una sequenza come input e la mescola. La cosa importante da notare qui è che random.shuffle()
non restituisce una nuova sequenza come output ma invece mescola la sequenza originale. Pertanto la sequenza di input valida può essere solo tipi di dati modificabili come un array o una lista ecc.
Il metodo random.shuffle()
funziona solo su sequenze 1D. Il codice di esempio sotto mostra come usare random.shuffle()
per mescolare un array in Python.
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)
Produzione:
[ 2 3 21 312 31 31 3123 131]
['apple', 'banana', 'cherry']
[3123 21 312 3 2 131 31 31]
['banana', 'apple', 'cherry']
Mescola un array in Python usando il metodo shuffle()
del modulo sklearn
Il metodo sklearn.utils.shuffle(array, random_state, n_samples)
accetta sequenze indicizzabili come array, liste o dataframe, ecc. Con la stessa prima dimensione dell’input e restituisce le copie delle sequenze mescolate fornite come input.
sklearn.utils.shuffle()
non cambia l’input originale ma restituisce la copia mescolata dell’input. L’input può essere una o più sequenze. Il parametro random_state
viene utilizzato per controllare la generazione casuale di numeri. Se è impostato su un numero intero, il metodo restituirà ogni volta la stessa sequenza mescolata. Il n_samples
rappresenta il numero di campioni e il suo valore di default è uguale alla prima dimensione del default di input e non dovrebbe essere maggiore della lunghezza degli array di input.
sklearn.utils.shuffle()
mescolerà solo le righe.Il codice di esempio seguente mostra come utilizzare il metodo sklearn.utils.shuffle()
per ottenere uno o più array mescolati in Python.
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)
Produzione:
[[ 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]