Mezclar un array en Python
-
Mezclar un array en Python usando el método
random.shuffle()
-
Mezclar un array en Python usando el método
shuffle()
del módulosklearn
En este tutorial, veremos los diversos métodos para mezclar un array en Python. El reordenamiento de un array significa reorganizar las posiciones de los elementos en el array. Una de las aplicaciones de mezcla aleatoria de matrices está en el entrenamiento de modelos, donde necesitamos mezclar nuestro conjunto de datos para mejorar la calidad de entrenamiento del modelo. También podría utilizarse en muchas aplicaciones de estadística.
Mezclar un array en Python usando el método random.shuffle()
El método random.shuffle()
toma una secuencia como entrada y la baraja. Lo importante a tener en cuenta aquí es que random.shuffle()
no devuelve una nueva secuencia como salida, sino que baraja la secuencia original. Por lo tanto, la secuencia de entrada válida solo puede ser tipos de datos mutables como un array o una lista, etc.
El método random.shuffle()
solo funciona en secuencias 1D. El siguiente código de ejemplo demuestra cómo usar random.shuffle()
para mezclar un array en 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)
Producción :
[ 2 3 21 312 31 31 3123 131]
['apple', 'banana', 'cherry']
[3123 21 312 3 2 131 31 31]
['banana', 'apple', 'cherry']
Mezclar un array en Python usando el método shuffle()
del módulo sklearn
El método sklearn.utils.shuffle(array, random_state, n_samples)
toma secuencias indexables como matrices, listas o DataFrames, etc. con la misma primera dimensión como entrada y devuelve las copias de las secuencias barajadas proporcionadas como entrada.
sklearn.utils.shuffle()
no cambia la entrada original pero devuelve la copia aleatoria de la entrada. La entrada puede ser una o varias secuencias. El parámetro random_state
se utiliza para controlar la generación aleatoria de números. Si se establece en algún número entero, el método devolverá la misma secuencia aleatoria cada vez. n_samples
representa el número de muestras, y su valor predeterminado es igual a la primera dimensión del valor predeterminado de entrada y no debe ser mayor que la longitud del array(s) de entrada.
sklearn.utils.shuffle()
solo mezclará las filas.El siguiente código de ejemplo demuestra cómo usar el método sklearn.utils.shuffle()
para obtener una (s) matriz (s) barajada (s) en 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)
Producción :
[[ 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]
Artículo relacionado - Python Array
- Cómo iniciar un array 2-D en Python
- Cómo contar las ocurrencias de un elemento en un array unidimensional en Python
- Matriz de reducción de resolución de Python
- Arreglar el error TypeError: iteration over a 0-d array en Python NumPy
- Desplazar o rotar un array en Python
- Escribir un array en un archivo de texto en Python