#numpy-slicing
#numpy-нарезка
Вопрос:
У меня есть массив 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]]
Мы были бы очень признательны за любой совет или понимание того, почему он не отображается должным образом.
Ответ №1:
Вы должны выполнить операцию следующим образом:
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]]