-Numpy- 多次元配列

多次元配列とは,「数字の集合」です.数字が1列に並んだもの,3次元形状に並べたもの,より一般化したN次元状に並べたものです.

まずは,1次元の配列例を示します.

>>> import numpy as np
>>> A = np.array([1, 2, 3, 4])
>>> print(A)
[1 2 3 4]
>>> np.ndim(A)
1
>>> A.shape
(4,)
>>> A.shape[0]
4
>>> 
上記の例で示したように,配列の次元数は np.ndim() 関数で取得できます.また,配列の形状はインスタンス関数の shape から取得できます.上記の例では,Aは1次元の配列であり,4つの要素から構成されていることが示されています.
ここで,A.shape の結果がタプルになっていることに注意が必要です.これは,1次元配列の場合であっても,多次元配列の場合と同じ統一された結果を返すからです.
 
続いて,2次元の配列を作成してみます.
>>> B = np.array([[1, 2], [3, 4], [5, 6]])
>>> print(B)
[[1 2]
 [3 4]
 [5 6]]
>>> np.ndim(B)
2
>>> B.shape
(3, 2)
>>> 
上記の例では,3 x 2の配列であるBを作成しています.3 x 2 の配列とは,最初の次元に3つの要素があり,次の次元に2つの要素があるという意味です.


3次元配列は,2次元の配列がさらに折り重なったもので,3中のリストから作成します.

>>> import numpy as np
>>> c = np.array([[[0, 1, 2], [3, 4, 5]], [[5, 4, 3], [2, 1, 0]]])
>>> print(c)
[[[0 1 2]
  [3 4 5]]
 
 [[5 4 3]
  [2 1 0]]]
>>> 
 
同様にしてより多次元の配列を作ることも可能です.
 
配列の形状(各次元の要素数)は shape関数で,配列のトータルの要素数は size関数で得ることができます.上記のように形状が(2, 2, 3) である配列cに対しては,これらの関数を以下のように使用できます.
>>> print(np.shape(c))
(2, 2, 3)
>>> print(np.size(c))
12
>>> 
 
上記のように,配列の形状はタプルで得ることができます.また,リストの要素数をカウントする len関数は,配列に使用すると最初の次元の要素数をカウントすることができます.
>>> print(np.shape(c))
(2, 2, 3)
>>> print(np.size(c))
12
>>>