我有一个大小为NxD的numpy数组,叫做X.
我创建了一个大小为D的掩码,由一个numpy向量表示,1和0称为ind_delete
我想在ind_delete中删除对应于1的所有X列。
我试过了:
X = np.delete(X,ind_delete,1)
但它显然不起作用。我试图在python上找到一个简单的方法,但是因为它在matlab中是微不足道的,所以在这里看起来并不多。感谢您指出实现它的最佳方法。
答案 0 :(得分:2)
>>> x = np.array([[1, 2, 3],
... [4, 5, 6]])
>>> d = np.array([1, 0, 1])
>>> x[:, d==1]
array([[1, 3],
[4, 6]])
答案 1 :(得分:0)
您需要创建一个布尔数组,然后您可以选择所需的内容:
X = X[ind_delete!=1]
选择值不为1的位置。