2011-11-08 2 views
7

配列のロールを実行する方法はありますか?データのコピーを別の視覚化だけにする方法はありますか?Numpy:numpy.rollと同等ですが、データの視覚化にのみ使用します

例が明確にあります:私は、アレイbに割り当てを行う場合...

>>> b[2,2] = 99 
>>> b 
array([[ 1, 3, 4], 
     [ 6, 7, 4], 
     [ 5, 4, 99]]) 

... 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与えられました。.. 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]]) 

ありがとう!

答えて

9

これはできません。申し訳ありません。数値配列を表示するには、stridesの別のセットでは丸められた配列を記述することはできません。