NumPy의 numpy.random.permutation() 함수

Muhammad Maisam Abbas 2021년7월4일
NumPy의 numpy.random.permutation() 함수

이 튜토리얼에서는 Python에서 NumPy 패키지를 업그레이드하는 방법을 소개합니다.

Python에서numpy.random.permutation()함수를 사용한 NumPy 임의 순열

numpy.random.permutation()함수는 주로 두 가지 목적으로 사용됩니다. 시퀀스의 무작위 순열 사본을 얻고 Python에서 무작위 순열 범위를 가져 오는 것입니다. permutation()shuffle()함수의 주요 차이점은 배열을 전달하면permutation()함수가 원래 배열의 셔플 된 복사본을 반환한다는 것입니다. 반대로shuffle()함수는 원래 배열을 섞습니다. 그리고 정수를 전달하면permutation()함수는 주어진 길이로 무작위 순열 된 숫자 시퀀스를 제공하는 반면, 동일한 프로세스를 수행하려면numpy.arange()함수를shuffle()함수와 함께 사용해야합니다. 다음 코드 예제는 Python에서permutation()함수와shuffle()함수의 차이점을 보여줍니다.

예 # 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)

출력:

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

예 # 2 :

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

출력:

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

첫 번째 예에서는 배열이 두 함수에 전달 될 때permutation()함수와shuffle()함수의 차이점을 보여주었습니다. permutation()함수는array의 셔플 된 사본을 리턴하는 반면shuffle()함수는 원래array를 셔플합니다.

두 번째 예에서는 정수가 전달 될 때permutation()함수와shuffle()함수의 차이점을 보여주었습니다. permutation(n)함수는n정수 요소 시퀀스가있는 셔플 된 배열을 반환하는 반면shuffle()함수로이 동작을 모방하려면 먼저 다음을 사용하여n정수 시퀀스를 만들어야합니다. np.arange()함수. shuffle()함수는 새로 생성 된 정수 요소 시퀀스를 섞습니다.

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