2017-12-11 11 views
2

numpyを使用した数値計算の初心者です。私は二次元以上の配列を理解するのに苦労しています。多次元配列を解釈する方法はありますか? 例: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の配列がどのように見えるかを私の心の中に示しましたが、現在の表現は私が描いたものと一致しませんでした。私がデータ構造を見るのを助けるために、構造を私が理解できる形に並べ替えるための2つの関数を書いた。

あなたへの私の質問は、その後で...、以下のプレゼンテーションのいずれかを行うの理解に役立つか、任意のより良い構造を可視化?これらのいずれかが有用な場合、私は編集でサポートコードを提供することができます。

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 

やプレゼンテーションオプション2

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]]] 

申し訳ありませんが、直接あなたの質問に答えることができるようにするためではないが、しばしば「直接」の答えは、実際には根本的な問題に到達するために必要なものではありません

+0

私はプレゼンテーション1が助けになると思います。 –