切片 Numpy 数组给出错误的结果

Slicing A Numpy Array Giving Wrong Results

我有一个 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]]

如能就无法正确显示的原因提供任何建议或见解,我们将不胜感激。

你应该这样操作:

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]]