Função numpy.random.permutation() em NumPy
Este tutorial irá apresentar os métodos para atualizar o pacote NumPy em Python.
NumPy Random Permutation com a função numpy.random.permutation()
em Python
A função numpy.random.permutation()
é usada principalmente para dois propósitos: obter uma cópia permutada aleatoriamente de uma sequência e obter um intervalo permutado aleatoriamente em Python. As principais diferenças entre as funções permutation()
e shuffle()
são que, se passado um array, a função permutation()
retorna uma cópia embaralhada do array original. Em contraste, a função shuffle()
embaralha o array original. E, se passarmos um inteiro, a função permutation()
nos dá uma sequência de números permutada aleatoriamente com o comprimento dado, enquanto para fazer o mesmo processo requer que usemos a função numpy.arange()
com a função shuffle()
. Os exemplos de código a seguir demonstram as diferenças entre a função permutation()
e a função shuffle()
em Python.
Exemplo 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)
Resultado:
[0 0 4 1 0]
[0 4 0 1 0]
Exemplo # 2:
permuted = np.random.permutation(5)
print(permuted)
sequence = np.arange(5)
np.random.shuffle(sequence)
print(sequence)
Resultado:
[3 1 4 0 2]
[4 3 0 1 2]
No primeiro exemplo, demonstramos a diferença entre a função permutation()
e a função shuffle()
quando um array é passado para ambas as funções. A função permutation()
retorna uma cópia embaralhada do array
enquanto a função shuffle()
embaralha o array
original.
No segundo exemplo, demonstramos a diferença entre a função permutation()
e a função shuffle()
quando um inteiro é passado. A função permutation(n)
retorna um array embaralhado com uma sequência de n
elementos inteiros, enquanto para imitar este comportamento com a função shuffle()
, temos primeiro de criar uma sequência de n
inteiros com o Função np.arange()
. A função shuffle()
então embaralha essa sequência recém-criada de elementos inteiros.
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