Numpy 3D阵列尺寸和切片

时间:2019-06-25 22:57:38

标签: numpy

我很难理解3D数组的Numpy表示形式。我已经习惯了(行,列,深度),但是对于Numpy来说似乎是(行,列,列)。

例如:

c = np.arange(12)
c = c.reshape(2,3,2)
d = c
d = d.reshape(2,2,3)

print(c)
print(d)

[[[ 0  1]
  [ 2  3]
  [ 4  5]]

 [[ 6  7]
  [ 8  9]
  [10 11]]]

d:

[[[ 0  1  2]
  [ 3  4  5]]

 [[ 6  7  8]
  [ 9 10 11]]]

d是我希望获得的代表。现在,如果要访问第二个2D数组,我可以编写:

print(d[1,:,:])

[[ 6  7  8]
 [ 9 10 11]]

那么,为什么对于Numpy来说,表示如此不直观?给定两种表示方式,我将如何访问3D数组的所有不均匀索引(第一,第三,第五...)二维数组?

0 个答案:

没有答案