Присвоение скалярного значения массиву numpy с помощью индексации - PullRequest
0 голосов
/ 16 января 2020

Я не могу присвоить скалярное значение массиву numpy. Я хочу установить все значения после 2-й строки и 4-го столбца в x[0] равными -10,0, оставляя блок 0 в верхнем левом углу матрицы. Это как обивка. Ни один из A, B, C или D не работает для меня. Что я делаю не так?

x= np.zeros((4, 10, 15,1), dtype=np.float32)
x[0][2:, 4:, :] = -10 # A
x[0][2:, 4:, :] = np.array(-10, dtype=np.float32) # B

x[0, 2:, 4:, :] = -10 # C
x[0, 2:, 4:, :] = np.array(-10, dtype=np.float32) # D

x[0][0].flatten() # array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], dtype=np.float32)

ОБНОВЛЕНИЕ:

Это сработало для меня. Это на самом деле заполнение матрицы.

 x[0, 2:] = -10
 x[0, :, 4:] = -10
...