2011-07-01 5 views
1

numpy mgrid 명령을 사용하여 각 요소에 특정 값이 있고 인덱스에 공간 정보가 유지되도록 3D 배열을 만들었습니다. 예를 들어, z 축 (3 차원)에서 합산 ​​한 결과 implow() 함수로 matplotlib에서 결과 2D 배열을 사용하여 서로 다른 binned 픽셀 값을 갖는 이미지를 얻을 수 있습니다.3D 배열의 각 요소에 대한 울피 인덱스 값

내 질문은 :이 격자 (a, b, c)의 각 요소에 대한 색인 값을 어떻게 얻을 수 있습니까?

각 점의 그리드 원점에 대한 상대 각도를 계산하려면 인덱스 값을 사용해야합니다. (예 : theta = sin-1 (sqrt (x^2 + y^2)/sqrt (x^2 + y^2 + z^2))

어쩌면이 각각 다른 3D 그리드로 번역 할 수 있습니다 요소가 배열 [a, b, c]입니까?

+1

np.indicies (즉 않는 – tillsten

답변

1

당신의 의미는 명확하지 않지만 x, y, z 색인이 들어있는 3d 배열을 찾으려면 다음과 같이하십시오. ., 당신의 필요 데이터를 가정이 "ABC"라는 차원 배열에서 개최된다)

import numpy as nm 
x,y,z = nm.mgrid[[slice(dm) for dm in abc.shape]] 
+0

를 들어 세바스찬의 목적 @ 그것을 사용하여 열려있는 격자를 생성하는 데 훨씬 더 효율적이다'np.ogrid '- numpy의 방송 규칙은 그의 계산 결과 3 개의 전체 xyz 행렬을 할당 할 필요없이 3D가됩니다. –

관련 문제