Funzione numpy.random.permutation() in NumPy

Muhammad Maisam Abbas 4 luglio 2021
Funzione numpy.random.permutation() in NumPy

Questo tutorial introdurrà i metodi per aggiornare il pacchetto NumPy in Python.

Permutazione casuale NumPy con la funzione numpy.random.permutation() in Python

La funzione numpy.random.permutation() è usata principalmente per due scopi: ottenere una copia permutata casualmente di una sequenza e ottenere un intervallo permutato casualmente in Python. Le differenze chiave tra le funzioni permutation() e shuffle() sono che se viene passato un array, la funzione permutation() restituisce una copia mescolata dell’array originale. Al contrario, la funzione shuffle() mescola l’array originale. E, se passiamo un intero, la funzione permutation() ci dà una sequenza di numeri permutata casualmente con la lunghezza data, mentre per fare lo stesso processo dobbiamo usare la funzione numpy.arange() con il shuffle() funzione. I seguenti esempi di codice dimostrano le differenze tra la funzione permutation() e la funzione shuffle() in Python.

Esempio 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)

Produzione:

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

Esempio n. 2:

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

Produzione:

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

Nel primo esempio, abbiamo dimostrato la differenza tra la funzione permutation() e la funzione shuffle() quando un array viene passato a entrambe le funzioni. La funzione permutation() restituisce una copia mischiata dell’array mentre la funzione shuffle() rimescola l’originale array.

Nel secondo esempio, abbiamo dimostrato la differenza tra la funzione permutation() e la funzione shuffle() quando viene passato un intero. La funzione permutation(n) restituisce un array mescolato con una sequenza di n elementi interi, mentre per imitare questo comportamento con la funzione shuffle() dobbiamo prima creare una sequenza di n interi con la funzione np.arange(). La funzione shuffle() poi mescola questa nuova sequenza di elementi interi.

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