2017-08-09 75 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) 
形狀