我想将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
要替换最后2个,我会
a[:,-2:-1] = 0
但这只会替换倒数第二列
array([[1, 2, 0, 4],
[1, 2, 0, 4],
[1, 2, 0, 4],
[1, 2, 0, 4]])
能否请您解释原因? 我该怎么做才能得到我想要的东西?
谢谢
答案 0 :(得分:2)
进行a[:,-2:-1] = 0
时,您将从上一列之前的1开始选择,直到最后一列,不包括。
您要寻找的是a[:,-2:] = 0
,它将选择从-2到末尾的所有列。同样,a[:,-3:-1]
将选择2个中间列。