'[]'に基づいてデータの次元を判断する方法

>>> import numpy as np
>>> data = np.random.randint(0, 5, [4,3,2,3])
>>> data
array([[[[4, 1, 0],
         [4, 3, 0]],
        [[1, 2, 4],
         [2, 2, 3]],
        [[4, 3, 3],
         [4, 2, 3]]],

       [[[4, 0, 1],
         [1, 1, 1]],
        [[0, 1, 0],
         [0, 4, 1]],
        [[1, 3, 0],
         [0, 3, 0]]],

       [[[3, 3, 4],
         [0, 1, 0]],
        [[1, 2, 3],
         [4, 0, 4]],
        [[1, 4, 1],
         [1, 3, 2]]],

       [[[0, 1, 1],
         [2, 4, 3]],
        [[4, 1, 4],
         [1, 4, 1]],
        [[0, 1, 0],
         [2, 4, 3]]]])
>>>data.shape
>>> (4,3,2,3)

上記の4次元配列のように、角括弧の数を感じて、配列の各次元の層の数を決定できます。

まず、各次元のレイヤー数が(4、3、2、3)であることがわかります。

最も外側の3つの角かっこが4回繰り返されるため、最初のレベルは4です。

2番目のレベルは3です。これは、最も外側のレベルに含まれる角かっこ、つまり2つの角かっこが1つの3つの角かっこ内で3回繰り返されるためです。例えば

       [ [[ 4、1、0]、
         [4、3、0 ]
        [ 1、2、4]、
         [2、2、3 ]
       [ 4、3、3]、
         [4、2 、3 ]] ]]

2番目のレイヤーのブラケットに含まれるブラケットが2回繰り返されるため、3番目のレイヤーは2です。例えば

[ [ 4、1、0 ]
        [ 4、3、0 ] ]、

最後のレイヤーの角括弧には3つの数字が含まれているため、4番目の最後のレイヤーは3です。

おすすめ

転載: blog.csdn.net/weixin_40244676/article/details/102976815