我需要从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)
但我无法获得我需要的东西。
答案 0 :(得分:5)
axis
应1
。
>>> 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]]])