NumPy 셔플 두 배열
-
파이썬에서
sklearn.utils.shuffle()
함수를 사용하여 NumPy 셔플 두 배열 -
NumPy
numpy.random.shuffle()
함수를 사용하여 두 배열을 섞습니다 -
NumPy는 파이썬에서
numpy.random.permutation()
함수를 사용하여 두 개의 대응하는 배열을 섞습니다
이 튜토리얼은 파이썬에서 두 개의 NumPy 배열을 섞는 방법을 소개합니다.
파이썬에서sklearn.utils.shuffle()
함수를 사용하여 NumPy 셔플 두 배열
길이가 같거나 선행 차원이 같은 두 개의 배열이 있고 두 배열의 해당 요소가 해당하는 상태로 유지되도록 두 배열을 섞고 싶다고 가정합니다. 이 경우 Python의sklean.utils
라이브러리 내에서shuffle()
함수를 사용할 수 있습니다. 이shuffle()
함수는 배열을 입력 매개 변수로 취하고 일관되게 섞은 다음 각 배열의 섞인 복사본을 반환합니다. 다음 코드 예제를 참조하십시오.
import numpy as np
from sklearn import utils
array1 = np.array([[0, 0], [1, 1], [2, 2]])
array2 = np.array([0, 1, 2])
array1, array2 = utils.shuffle(array1, array2)
print(array1)
print(array2)
출력:
[[0 0]
[2 2]
[1 1]]
[0 2 1]
위의 코드에서 우리는 Python의sklearn.utils
라이브러리에있는shuffle()
함수를 사용하여array1
및array2
두 배열을 섞었습니다. 먼저np.array()
함수로 두 배열을 모두 만들었습니다. 그런 다음sklearn.utils
라이브러리 내에서shuffle()
함수로 배열을 섞고array1
및array2
안에 섞인 배열을 저장했습니다. 결국 두 배열 내부에 요소를 인쇄했습니다. 출력은 셔플 링 후에도 두 배열의 요소가 일치 함을 보여줍니다.
NumPy numpy.random.shuffle()
함수를 사용하여 두 배열을 섞습니다
sklearn
패키지를 가져오고 싶지 않고 NumPy 패키지를 사용하여 이전 목표와 동일한 목표를 달성하려면numpy.random
라이브러리 내에서shuffle()
함수를 사용할 수 있습니다. 이shuffle()
함수는 시퀀스를 받아서 무작위 화합니다. 그런 다음이 무작위 시퀀스를 두 배열의 인덱스로 사용하여 셔플 할 수 있습니다. 다음 코드 예제는numpy.random.shuffle()
함수로 두 배열을 섞는 방법을 보여줍니다.
import numpy as np
array1 = np.array([[0, 0], [1, 1], [2, 2]])
array2 = np.array([0, 1, 2])
randomize = np.arange(len(array2))
np.random.shuffle(randomize)
array1 = array1[randomize]
array2 = array2[randomize]
print(array1)
print(array2)
출력:
[[2 2]
[0 0]
[1 1]]
[2 0 1]
먼저np.array()
함수로 배열을 생성했습니다. 그런 다음np.arange(len(array2))
함수를 사용하여 두 번째 배열의 길이와 동일한 정수 시퀀스를 만들었습니다. 그 후,np.random
라이브러리 내에서shuffle()
함수를 사용하여 시퀀스를 무작위 화하고 두 배열을 섞는 인덱스로 사용했습니다.
NumPy는 파이썬에서numpy.random.permutation()
함수를 사용하여 두 개의 대응하는 배열을 섞습니다
또한numpy.random
라이브러리 내에서permutation()
함수를 사용하여 Python에서 지정된 범위 내에서 무작위 정수 시퀀스를 만들 수 있습니다. 그런 다음이 시퀀스를 두 배열의 인덱스로 사용하여 셔플 할 수 있습니다.
import numpy as np
def shuffle(x, y):
p = np.random.permutation(len(y))
return x[p], y[p]
array1 = np.array([[0, 0], [1, 1], [2, 2]])
array2 = np.array([0, 1, 2])
array1, array2 = shuffle(array1, array2)
print(array1)
print(array2)
출력:
[[0 0]
[2 2]
[1 1]]
[0 2 1]
위의 코드에서 우리는 Python의numpy.random
라이브러리에있는permutation()
함수를 사용하여 두 개의 배열을 취하고 무작위 화하는 함수shuffle()
을 정의했습니다. len(y)
함수를 사용하여 두 번째 배열의 요소 수와 같도록 무작위 시퀀스의 길이를 지정했습니다. 그런 다음 무작위 시퀀스p
를 두 배열의 인덱스로 사용하고 반환했습니다. shuffle()
함수에 의해 반환 된 셔플 된 배열은array1
및array2
배열에 저장됩니다.
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