【问题标题】:Delete specific column in an array删除数组中的特定列
【发布时间】:2018-04-12 08:33:20
【问题描述】:

我有一个名为 X 的大小为 NxD 的 numpy 数组。

我创建了一个大小为 D 的掩码,由一个 1 和 0 的 numpy 向量表示,称为 ind_delete

我想删除ind_delete中1对应的所有X列。

我试过了:

X = np.delete(X,ind_delete,1)

但它显然不起作用。我试图在 python 上找到一种简单的方法,但由于它在 matlab 中是微不足道的,所以这里似乎没有那么多。感谢您指出实现它的最佳方法。

【问题讨论】:

  • 显示你的 numpy 数组和所需的输出
  • 简单:X[:,D!=1]X[:,D==0]?

标签: python arrays numpy indexing


【解决方案1】:

Boolean array indexing:

>>> x = np.array([[1, 2, 3],
...               [4, 5, 6]])
>>> d = np.array([1, 0, 1])
>>> x[:, d==1]
array([[1, 3],
       [4, 6]])

【讨论】:

    【解决方案2】:

    你需要创建一个布尔数组,你可以选择你想要的:

    X = X[ind_delete!=1]
    

    选择值不为 1 的位置。

    【讨论】:

      猜你喜欢
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多