如何获取 3D numpy 数组中除最后一列之外的所有列?

How to get the all columns except last column in 3D numpy array?

我有一个由各种列组成的 3D 数组。我只想切分最后一列。该数组如下所示:

array([[[5.45454545e-01, 6.36363636e-01, 7.27272727e-01, ...,
         1.00000000e+00, 0.00000000e+00, 9.09090909e-02],
        [5.45454545e-01, 6.36363636e-01, 7.27272727e-01, ...,
         1.00000000e+00, 0.00000000e+00, 9.09090909e-02],
        [5.45454545e-01, 6.36363636e-01, 7.27272727e-01, ...,
         1.00000000e+00, 0.00000000e+00, 9.09090909e-02]

我试过下面的代码。但它只显示最后一列,而我想显示除最后一列以外的所有列值。

df[:, :-1]

IUUC,你可以使用:

a[..., :-1]  # equivalent to a[:,:,:-1]

示例输入:

a = np.arange(3**3).reshape(3,3,3)

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],
        [24, 25, 26]]])

匹配输出:

a[..., :-1]

array([[[ 0,  1],
        [ 3,  4],
        [ 6,  7]],

       [[ 9, 10],
        [12, 13],
        [15, 16]],

       [[18, 19],
        [21, 22],
        [24, 25]]])