x = np.random.randn(4, 3, 3, 2)
print(x[1,1])

output:
[[ 1.68158825 -0.03701415]
[ 1.0907524  -1.94530359]
[ 0.25659178  0.00475093]]
我是python新手。我真的不能理解上面的4维数组索引。 x [1,1]是什么意思?
例如,对于矢量
a = [[2][3][8][9]], a[0] = 2, a[3] = 9.
我明白了,但我不知道x [1,1]指的是什么。
请详细说明。谢谢你。

最佳答案

2D数组是矩阵:数组的数组。

4D数组基本上是矩阵矩阵:

python - 直观地解释此4D numpy数组索引-LMLPHP

指定一个索引将为您提供一系列矩阵:

>>> x[1]
array([[[-0.37387191, -0.19582887],
        [-2.88810217, -0.8249608 ],
        [-0.46763329,  1.18628611]],

       [[-1.52766397, -0.2922034 ],
        [ 0.27643125, -0.87816021],
        [-0.49936658,  0.84011388]],

       [[ 0.41885001,  0.16037164],
        [ 1.21510322,  0.01923682],
        [ 0.96039904, -0.22761806]]])

python - 直观地解释此4D numpy数组索引-LMLPHP

指定两个索引将为您提供一个矩阵:
>>> x[1, 1]
array([[-1.52766397, -0.2922034 ],
       [ 0.27643125, -0.87816021],
       [-0.49936658,  0.84011388]])

python - 直观地解释此4D numpy数组索引-LMLPHP

指定三个索引将为您提供一个数组:
>>> x[1, 1, 1]
array([ 0.27643125, -0.87816021])

python - 直观地解释此4D numpy数组索引-LMLPHP

指定四个索引将为您提供一个元素:
>>> x[1, 1, 1, 1]
-0.87816021212791107

python - 直观地解释此4D numpy数组索引-LMLPHP
x[1,1]为您提供保存在大矩阵第二行第二列中的小矩阵。

关于python - 直观地解释此4D numpy数组索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47143361/

10-14 14:33
查看更多