选择 3d ndarray 中的第一列

use*_*953 2 python select numpy multidimensional-array

我有一个关于python的简单问题。ndarray我想选择整列,而不是遍历 3D 的第一行。所以让我们说:而不是:

print test[0][20][33]
print test[1][20][33]
...
Run Code Online (Sandbox Code Playgroud)

我想放一些类似的东西:

 print test[:][20][33]
Run Code Online (Sandbox Code Playgroud)

但这不起作用。我该怎么做?

DSM*_*DSM 5

将所有术语放在方括号内:

>>> import numpy as np
>>> v = np.array(np.arange(24)).reshape(2,3,4)
>>> v
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],

       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
>>> v[:, 1, 3]
array([ 7, 19])
Run Code Online (Sandbox Code Playgroud)

..虽然我不确定我会称之为第一列。不过,您可以轻松地调整索引以获得所需的任何内容:

>>> v[0, :, 0]
array([0, 4, 8])
>>> v[1, 1, :]
array([16, 17, 18, 19])
Run Code Online (Sandbox Code Playgroud)

[关于索引的相关文档部分]