7

Numpy の初心者で、ディメンションとは何かという基本的な質問を理解しようとしています。

次のコマンドを試して、最後の 2 つのアレイの ndim が同じである理由を理解しようとしましたか?

>>> a= array([1,2,3])
>>> a.ndim
1
>>> a= array([[1,2,3],[4,5,6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> a.ndim
2
>>> a=arange(15).reshape(3,5)
>>> a.ndim
2

>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])

私の理解..

Case 1:
    array([[1, 2, 3],
           [4, 5, 6]])

2 elements are present in main lists, so ndim is-2

Case 2:
    array([[ 0,  1,  2,  3,  4],
           [ 5,  6,  7,  8,  9],
           [10, 11, 12, 13, 14]])

3 つの要素がメイン リストに存在します。do ndim is-3

4

1 に答える 1

13

shape配列の は、その次元のタプルです。1 次元の配列の形状は (n,) です。2 次元配列の形状は (n,m) (ケース 2 および 3 のように) であり、3 次元配列の形状は (n,m,k) などです。

したがって、2番目と3番目の例の形状は異なりますが、いいえ。次元はどちらの場合も 2 です。

>>> a= np.array([[1,2,3],[4,5,6]])
>>> a.shape
(2, 3)

>>> b=np.arange(15).reshape(3,5)
>>> b.shape
(3, 5)

例に別の次元を追加したい場合は、次のようにする必要があります。

a= np.array([[[1,2,3]],[[4,5,6]]])

また

np.arange(15).reshape(3,5,1)

この方法で次元を追加し続けることができます:

1 つの次元:

>>> a = np.zeros((2))
array([ 0.,  0.])
>>> a.shape
(2,)
>>> a.ndim
1

二次元:

>>> b = np.zeros((2,2))
array([[ 0.,  0.],
       [ 0.,  0.]])
>>> b.shape
(2,2)
>>> b.ndim
2

三次元:

>>> c = np.zeros((2,2,2))
array([[[ 0.,  0.],
        [ 0.,  0.]],

       [[ 0.,  0.],
        [ 0.,  0.]]])
>>> c.shape
(2,2,2)
>>> c.ndim
3

4 つの次元:

>>> d = np.zeros((2,2,2,2))
array([[[[ 0.,  0.],
         [ 0.,  0.]],

        [[ 0.,  0.],
         [ 0.,  0.]]],


       [[[ 0.,  0.],
         [ 0.,  0.]],

        [[ 0.,  0.],
         [ 0.,  0.]]]])
>>> d.shape
(2,2,2,2)
>>> d.ndim
4
于 2013-04-15T14:56:13.767 に答える