나는 numpy 배열 (A)을 입력으로 사용하는 함수가 있습니다. 이 배열은 수학적 계산에 따라 2 차원 또는 3 차원 배열 일 수 있습니다. 배열이 2D 일 때를 제외하고는 임의의 숫자가 될 수있는 정수 m이 있습니다. m의 값은 항상 0이됩니다. A의 silce를 다른 함수에 전달하려고합니다. A는 3D 또는 2D가 될 수 있으므로 3D 스타일 슬라이싱을 시도했습니다. A는 2D2D numpy 배열에서 3D 스타일 슬라이싱 사용
IndexError: too many indices for array
나는 그것이 MATLAB에서 일어나는처럼 A는, 2D의 경우 Fun2에하는 전체 2D 배열을 전달 할 때
def fun(A):
... some code
ans = fun2(A[:,:,m]) #The value of m is 0 if A is 2D
이
은 나에게IndexError
을 제공합니다. 파이썬으로 어떻게 할 수 있습니까? 내가 사용하는 파이썬 좋은 설정은 단순히 같은, 마지막 축을 따라 m 번째 인덱스를 슬라이스 한 후 우리는
힘이
3D
을 할 수
np.atleast_3d
를 사용하고 같은 2
MATLAB 자동 끝에 치수를 연장
케이스
1) 2D 달린다. 'numpy'는 시작시 확장을 수행합니다 - 적어도 방송 할 때. 그러나 색인 생성 컨텍스트에서는 인덱스를 추가하지 않습니다. – hpaulj