删除3D numpy数组中的行

时间:2013-10-24 09:20:24

标签: python arrays numpy

我需要从3D numpy数组中删除一些行。例如:

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

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

我想删除矩阵两个页面的第三行,以获得类似:

的内容
 a = [[1,2,3]
     [4,5,6]

     [9,8,7]
     [6,5,4]]

我试过

   a = numpy.delete(a, 2, axis=0)

但我无法获得我需要的东西。

2 个答案:

答案 0 :(得分:5)

axis1

>>> import numpy
>>> a = [[[1,2,3],
...       [4,5,6],
...       [7,8,9]],
...      [[9,8,7],
...       [6,5,4],
...       [3,2,1]]]
>>> numpy.delete(a, 2, axis=1)
array([[[1, 2, 3],
        [4, 5, 6]],

       [[9, 8, 7],
        [6, 5, 4]]])

答案 1 :(得分:0)

另一种方法是使用切片符号,在其中删除第二轴的最后一行。

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

       [[9, 8, 7],
        [6, 5, 4]]])