numpy删除多于预期的行

时间:2019-05-14 01:27:08

标签: python numpy

我正在尝试从numpy数组中分离出一些行。 数组X的形状

(81, 9, 3072)

我做了

Xt=X[56:62,:,:]

Xt的形状是

(6, 9, 3072)

我从X删除Xt

X1=np.delete(X,Xt,axis=0)

现在X1的形状是

(67, 9, 3072)

应该不是

(75, 9, 3072)

1 个答案:

答案 0 :(得分:0)

np.delete希望删除切片或索引数组。除非幸运Xt拥有这些索引,否则您也不会给出任何索引。

一个选择是使用numpy.s_来获取想要的切片对象。像这样:

import numpy as np

X = np.ones([81, 9, 3072])
sl = np.s_[56:62]

Xt = X[sl]

X1=np.delete(X,sl,axis=0)

print(Xt.shape)
#(6, 9, 3072)

print(X1.shape)
#(75, 9, 3072)