繁体   English   中英

如何删除3d numpy数组中的列

[英]How to delete column in 3d numpy array

我有一个看起来像这样的numpy数组

[
[[1,2,3], [4,5,6]],
[[3,8,9], [2,9,4]],
[[7,1,3], [1,3,6]]
]

删除第一列后我想要这样

[
[[2,3], [5,6]],
[[8,9], [9,4]],
[[1,3], [3,6]]
]

所以目前尺寸为3 * 3 * 3,去掉第一列后应为3 * 3 * 2

既然你正在使用numpy我会提到这样做的numpy方式。 首先,您为该问题指定的维度似乎是错误的。 见下文

x = np.array([
[[1,2,3], [4,5,6]],
[[3,8,9], [2,9,4]],
[[7,1,3], [1,3,6]]
])

x的形状是

x.shape
(3, 2, 3)

您可以使用numpy.delete删除列,如下所示

a = np.delete(x, 0, 2)
a
array([[[2, 3],
    [5, 6]],

   [[8, 9],
    [9, 4]],

   [[1, 3],
    [3, 6]]])

找到一个的形状

a.shape
(3, 2, 2)

您可以将其切片,其中1:表示您只需要来自最内层数组的第二列和所有剩余列(即您“删除”其第一列)。

>>> a[:, :, 1:]
array([[[2, 3],
        [5, 6]],

       [[8, 9],
        [9, 4]],

       [[1, 3],
        [3, 6]]])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM