Предположим, у меня есть массив типа x = np.array(3), который имеет x.ndim == 0.Как назначить новое значение этому массиву?x[0] = 2 дает IndexError, как и x[:] = 2.
x = np.array(3)
x.ndim == 0
x[0] = 2
IndexError
x[:] = 2
Я буду использовать put
put
x.put(0,2) x Out[91]: array(2)
Это можно сделать с помощью x.flat, который возвращает np.flatiter экземпляр:
x.flat
np.flatiter
import numpy as np x = np.array(3) x.flat[:] = 2 # or x.flat[0] = 2
или путем индексации исходного массива с помощью многоточия или пустого кортежа:
x[...] = 2 x[()] = 2