#python #numpy #python-2.7
#python #numpy #python-2.7
Вопрос:
Есть ли способ выполнить прокрутку массива, но вместо того, чтобы иметь копию данных, имеющих просто другую их визуализацию?
Пример может прояснить: дана b
свернутая версия a
…
>>> a = np.random.randint(0, 10, (3, 3))
>>> a
array([[6, 7, 4],
[5, 4, 8],
[1, 3, 4]])
>>> b = np.roll(a, 1, axis=0)
>>> b
array([[1, 3, 4],
[6, 7, 4],
[5, 4, 8]])
…если я выполняю присваивание для массива b
…
>>> b[2,2] = 99
>>> b
array([[ 1, 3, 4],
[ 6, 7, 4],
[ 5, 4, 99]])
…содержимое a
не изменится…
>>> a
array([[6, 7, 4],
[5, 4, 8],
[1, 3, 4]])
… напротив, я хотел бы иметь:
>>> a
array([[6, 7, 4],
[5, 4, 99], # observe as `8` has been changed here too!
[1, 3, 4]])
Заранее спасибо за ваше время и опыт!
Ответ №1:
Извините, это невозможно. Свернутый массив не может быть описан другим набором шагов, которые были бы необходимы для работы NumPy view.