Embaralhar um Array em Python
-
Embaralhe um Array em Python usando o método
random.shuffle()
-
Embaralhe um Array em Python usando o método
shuffle()
do módulosklearn
Neste tutorial, veremos os vários métodos para embaralhar um array em Python. O embaralhamento de un array significa reorganizar as posições dos elementos no array. Um dos aplicativos de embaralhamento de array está no treinamento de modelo, onde precisamos embaralhar nosso conjunto de dados para melhorar a qualidade de treinamento do modelo. Também pode ser usado em muitas aplicações estatísticas.
Embaralhe um Array em Python usando o método random.shuffle()
O método random.shuffle()
pega uma sequência como entrada e a embaralha. O importante a notar aqui é que random.shuffle()
não retorna uma nova sequência como saída, mas, em vez disso, embaralha a sequência original. Portanto, a sequência de entrada válida pode ser apenas tipos de dados mutáveis, como un array ou uma lista, etc.
O método random.shuffle()
funciona apenas em sequências 1D. O código de exemplo a seguir demonstra como usar random.shuffle()
para embaralhar um array em 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)
Resultado:
[ 2 3 21 312 31 31 3123 131]
['apple', 'banana', 'cherry']
[3123 21 312 3 2 131 31 31]
['banana', 'apple', 'cherry']
Embaralhe um Array em Python usando o método shuffle()
do módulo sklearn
O método sklearn.utils.shuffle(array, random_state, n_samples)
leva sequências indexáveis como arrays, listas ou dataframes, etc. com a mesma primeira dimensão como entrada e retorna as cópias das sequências embaralhadas fornecidas como entrada.
O sklearn.utils.shuffle()
não altera a entrada original, mas retorna a cópia embaralhada da entrada. A entrada pode ser sequências simples ou múltiplas. O parâmetro random_state
é usado para controlar a geração aleatória de números. Se for definido como algum inteiro, o método retornará a mesma sequência embaralhada todas as vezes. O n_samples
representa o número de amostras, e seu valor padrão é igual à primeira dimensão do padrão de entrada e não deve ser maior que o comprimento da (s) matriz (s) de entrada.
sklearn.utils.shuffle()
apenas embaralhará as linhas.O código de exemplo a seguir demonstra como usar o método sklearn.utils.shuffle()
para obter array(s) embaralhado(s) em 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)
Resultado:
[[ 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]