Нарезка массива Numpy дает неверные результаты - PullRequest
0 голосов
/ 27 марта 2019

У меня есть пустой массив, который я пытаюсь нарезать вдоль первых двух столбцов и первых двух строк, а затем установить их равными 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]]

Любой совет или понимание того, почему оно не отображается должным образом, будет принята с благодарностью.

1 Ответ

0 голосов
/ 27 марта 2019

Вы должны сделать операцию так:

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