Función numpy.random.permutation() en NumPy

Muhammad Maisam Abbas 20 noviembre 2021
Función numpy.random.permutation() en NumPy

Este tutorial presentará los métodos para actualizar el paquete NumPy en Python.

Permutación aleatoria NumPy con la función numpy.random.permutation() en Python

La función numpy.random.permutation() se utiliza principalmente para dos propósitos: obtener una copia permutada aleatoriamente de una secuencia y obtener un rango permutado aleatoriamente en Python. Las diferencias clave entre las funciones permutation() y shuffle() son que si se pasa un array, la función permutation() devuelve una copia aleatoria del array original. Por el contrario, la función shuffle() baraja el array original. Y, si pasamos un número entero, la función permutation() nos da una secuencia de números permutados aleatoriamente con la longitud dada, mientras que para hacer ese mismo proceso necesitamos usar la función numpy.arange() con la función shuffle(). Los siguientes ejemplos de código demuestran las diferencias entre la función permutation() y la función shuffle() en Python.

Ejemplo 1:

import numpy as np
array = np.array([0,1,0,0,4])
shuffled = np.random.permutation(array)
np.random.shuffle(array)
print(shuffled)
print(array)

Producción :

[0 0 4 1 0]
[0 4 0 1 0]

Ejemplo # 2:

permuted = np.random.permutation(5)
print(permuted)
sequence = np.arange(5)
np.random.shuffle(sequence)
print(sequence)

Producción :

[3 1 4 0 2]
[4 3 0 1 2]

En el primer ejemplo, demostramos la diferencia entre la función permutation() y la función shuffle() cuando se pasa un array a ambas funciones. La función permutation() devuelve una copia aleatoria de la array mientras que la función shuffle() baraja la array original.

En el segundo ejemplo, demostramos la diferencia entre la función permutation() y la función shuffle() cuando se pasa un número entero. La función permutation(n) devuelve un array barajada con una secuencia de n elementos enteros, mientras que para imitar este comportamiento con la función shuffle(), primero tenemos que crear una secuencia de n enteros con el Función np.arange(). La función shuffle() luego baraja esta secuencia recién creada de elementos enteros.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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