Numpy:只用于数据可视化的numpy.roll等效方法
有没有办法对一个数组进行滚动操作,但不是复制数据,而是以不同的方式展示它?
举个例子来说明:假设有一个数组 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]])
谢谢你们的时间和专业意见!