C'è un modo per eseguire un roll su un array, ma invece di avere una copia dei dati con una visualizzazione diversa di esso?Numpy: equivalente di numpy.roll ma solo per la visualizzazione dei dati
Un esempio potrebbe chiarire: dato b
una versione laminati di 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]])
... se effettuo un incarico sulla serie b
...
>>> b[2,2] = 99
>>> b
array([[ 1, 3, 4],
[ 6, 7, 4],
[ 5, 4, 99]])
.. .il contenuto di a
non cambierà ...
>>> a
array([[6, 7, 4],
[5, 4, 8],
[1, 3, 4]])
... al contrario, vorrei avere:
>>> a
array([[6, 7, 4],
[5, 4, 99], # observe as `8` has been changed here too!
[1, 3, 4]])
Grazie in anticipo per il vostro tempo e le competenze!