【问题标题】:indexing a numpy array to the last column [duplicate]将numpy数组索引到最后一列[重复]
【发布时间】:2019-04-15 11:06:13
【问题描述】:

我想用零替换 Numpy 数组的最后 N 列。

a = numpy.tile([1,2,3,4], (4,1))

array([[1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4]])

要替换最后一个,我这样做:

a[:,-1] = 0

要替换最后两个,我会这样做

a[:,-2:-1] = 0

但这只会替换倒数第二列

array([[1, 2, 0, 4],
       [1, 2, 0, 4],
       [1, 2, 0, 4],
       [1, 2, 0, 4]])

你能解释一下原因吗? 我应该怎么做才能得到我想要的?

谢谢

【问题讨论】:

  • a[:, -2:];使用开放式切片。

标签: python numpy indexing slice


【解决方案1】:

在执行a[:,-2:-1] = 0 时,您将从最后一列之前的 1 开始,直到最后一列,不包括最后一列。

您正在寻找的是 a[:,-2:] = 0 ,它将选择从 -2 到末尾的所有列。同样,a[:,-3:-1] 将选择中间的 2 列。

【讨论】:

    猜你喜欢
    • 2018-10-25
    • 2018-07-26
    • 1970-01-01
    • 2012-11-25
    • 2019-11-20
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多