0

我有一个 numpy 数组,我试图沿前两列和前两行切片,然后将它们设置为 0。

在我的代码中,您可以看到我尝试这样做的尝试。在将正确数量的数字设置为 0 方面,我遇到了无穷无尽的麻烦。

nums = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
nums[0:2,0:2] = 0
print(nums)

The output should be 
[[0 0 0 0 
  0 0 0 0
  0 0 11 12
  0 0 15 16]]

My output is 
[[ 0  0  3  4]
 [ 0  0  7  8]
 [ 9 10 11 12]
 [13 14 15 16]]

任何关于它为什么不能正确显示的建议或见解将不胜感激。

4

1 回答 1

0

你应该做这样的操作:

nums = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
nums[0:2,:] = 0
nums[:, 0:2] = 0
print(nums)

那么输出应该是

[[0 0 0 0 
  0 0 0 0
  0 0 11 12
  0 0 15 16]]
于 2019-03-27T20:38:59.050 回答