2017-12-11 1 views
2

numpy를 사용하여 수치 계산을 처음 사용합니다. 나는 2 이상의 차원을 가진 배열을 이해하는데 어려움을 겪고있다. 다차원 배열을 해석 할 방법이 있는가? 예컨대 :numpy 다차원 배열 해석

>>> import numpy as np 
>>> arr1 = np.arange(24).reshape(2,3,2,2) 
>>> arr1 
array([[[[ 0, 1], 
     [ 2, 3]], 

     [[ 4, 5], 
     [ 6, 7]], 

     [[ 8, 9], 
     [10, 11]]], 


     [[[12, 13], 
     [14, 15]], 

     [[16, 17], 
     [18, 19]], 

     [[20, 21], 
     [22, 23]]]]) 

모든 설명 참조 직관을 구축? 편집 됨 : 출력의 .shape 출력을 해석하는 방법을 알고 싶었습니다. 즉 위의 예 (2,3,2,2)에서 가장 오른쪽에있는 2는 3을 가리 킵니다. 2. numpy는 이것을 어떻게 처리합니까?

+0

도움이되는지 확인 - https://stackoverflow.com/a/41507480/. – Divakar

+0

[텐서] (https://en.wikipedia.org/wiki/Tensor)가 무엇인지 살펴볼 수도 있습니다. (추한 수학에 겁 먹지 마세요. 더 많은 차원에 매트릭스의) – GPhilo

+0

당신은 이해가 안되는 무엇입니까 - 출력, 데이터, 또는 개념? – kazemakase

답변

0

이것은 직접적인 대답은 아니지만 다차원 배열 작업을 시작할 때 가장 큰 어려움은 큰 긴 스트리밍 목록과 괄호가 무엇인지를 시각화하는 것이 었습니다. 나는 3D와 4D 배열이 어떻게 생겼는지를 내 마음 속에 알았지 만, 현재의 표현은 내가 그린 그림과 일치하지 않았다. 데이터 구조를 보는 데 도움이되도록 필자는 이해할 수있는 형태로 구조를 재정렬하는 두 가지 기능을 작성했습니다.

내 질문에 대한 답은 아래에 있습니다. 구조를 더 잘 이해하고 시각화하는 데 도움이됩니까? 유용하다면 편집에 지원 코드를 제공 할 수 있습니다.

arr1 = np.arange(24).reshape(2,3,2,2) 

Sample array... 
-shape (2, 3, 2, 2), ndim 4 
------------------------- 
-(0, + (3, 2, 2) 
    . 0 1 4 5 8 9 
    . 2 3 6 7 10 11 

------------------------- 
-(1, + (3, 2, 2) 
    . 12 13 16 17 20 21 
    . 14 15 18 19 22 23 

또는 프리젠 테이션

Alternate format 
Main array... 
shape: (2, 3, 2, 2) 
[0,...] (3, 2, 2) 
    .[[[ 0 1] 
    . [ 2 3]] 
    . [[ 4 5] 
    . [ 6 7]] 
    . [[ 8 9] 
    . [10 11]]] 
[1,...] (3, 2, 2) 
    .[[[12 13] 
    . [14 15]] 
    . [[16 17] 
    . [18 19]] 
    . [[20 21] 
    . [22 23]]] 

옵션 2

직접하지만, 종종 '직접'대답이 정말 루트 문제에 도착하기 위해 필요하지 않습니다 무엇을 귀하의 질문에 대답 할 수있을 없습니다 죄송합니다,

+0

프리젠 테이션 1은 두 번째가 뒤따라야 할 것 같습니다. –