Numpy의 ravel_multi_index 함수 사용법 설명

최근에 라벨을 만났어요_multi_index라는 함수는 공식 문서에서 잘 보이지 않습니다. Google은 가까스로 예시 코드에서 함수의 의미를 이해하고 기록합니다.
공식 문서는 여기 있습니다.
이 함수의 주요 기능은 주어진 다차원 그룹(함수의 첫 번째 파라미터)을 색인 그룹으로 간주하는 것이다. 색인은 무엇입니까?형상이dims(함수의 두 번째 매개 변수), 값이 순서대로 커지는 자연수의 수조 중의 값(list(range(N)의 수조reshape(dims)로 볼 수 있음), 의미는 하나의 유일한 1차원으로 원수조의 2차원(또는 다차원(i, j, k,...)의 수대 정보를 포지셔닝(저장)하는 것이다.

문서의 예제 코드를 붙여서 설명합니다.


>>> arr = np.array([[3,6,6],[4,5,1]])
>>> np.ravel_multi_index(arr, (7,6))
array([22, 41, 37])
>>> np.ravel_multi_index(arr, (7,6), order='F')
array([31, 41, 13])
>>> np.ravel_multi_index(arr, (4,6), mode='clip')
array([22, 23, 19])
>>> np.ravel_multi_index(arr, (4,4), mode=('clip','wrap'))
array([12, 13, 13])
>>> np.ravel_multi_index((3,1,4,1), (6,7,8,9))
1621
예시에서 arr는 변환할 다차원 수조로 arr의 내용을 인덱스로 한다. 즉, [3,6,6]는 가로 좌표이고, [4,5,1]는 세로 좌표이며, 인덱스 형태는 (7,6)이며, 내용은 0에서 시작하여 왼쪽에서 오른쪽으로, 위에서 아래로 순서대로 증가하는 자연수의 수조의 값이다.
예를 들어 첫 번째 색인할 수[3,4]는 (7,6) 그룹의 네 번째 줄, 다섯 번째 열의 값은 3*6+4=22, 즉 결과의 첫 번째 수이다.순서대로 유추하다.
함수 기능을 이해한 후 다른 매개 변수는 구체적으로 공식 문서 설명을 볼 수 있다.
numpy.unravel_index와numpy.ravel_multi_index의 이해
numpy를 만나다.ravel_multi_index와numpy.unravel_index라는 두 함수는 인터넷의 많은 자료를 찾아봤는데 잘 설명하지 못했습니다. 기록해 보세요.

이 두 함수는 상응하는 것이다.


numpy.unravel_index(indices, shape, order='C')
그 중에서 indices는 1차원 그룹을 나타내는 index로 이 1차원 그룹을 크기로shape([col,row])로 변환하는 shape 행렬은 변환된 그룹의 줄과 열의 크기를 결정하고 index가 새로운 2차원 행렬에 있는 줄 index와 열 index를 얻는다. 그 중에서order는 줄 index'C'가 먼저 열 index이고 줄 index'F'가 먼저 줄 index이고 열 index가 먼저

 np.unravel_index([22, 41, 37], (7,6))
(array([3, 6, 6]), array([4, 5, 1]))
numpy.ravel_multi_index는numpy입니다.unravel_index가 거꾸로 가는 과정,

numpy.ravel_multi_index(multi_index, dims, mode='raise', order='C')
multi_에 따라index에서 서로 다른 수조가 대표하는 구체적인 인덱스와 이 수조의dims의 크기는 이 수조flat를 1차원 수조 데이터로 한 수조의 위치를 얻는다.
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.만약 잘못이 있거나 완전한 부분을 고려하지 않으신다면 아낌없이 가르침을 주시기 바랍니다.

좋은 웹페이지 즐겨찾기