Função numpy.random.permutation() em NumPy

Muhammad Maisam Abbas 4 julho 2021
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.

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