2017-08-09 76 views
3

我有一个numpy的阵列看起来像这样如何在3D 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

回答

4

您可以像这样切片,其中1:表示您只需要来自最内部数组的第二列和所有剩余列(即。你'删除'它的第一列)。

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

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

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

由于您使用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) 
形状