2
如何在不將view
更改爲copy
的情況下將數據存儲到numpy視圖中?這段代碼examplifies我的問題:如何將數據存儲到numpy視圖中?
>>> import numpy as np
>>> #-- init arrays and view
>>> a = np.ones([4])
>>> z = np.zeros([2,4])
>>> z0 = z[0,:] #-- view
>>> z0.flags.owndata
False
>>> #-- This works!
>>> #-- modify view in-place
>>> np.add(a,z0,z0)
>>> z0.flags.owndata
False
>>> z
array([[ 1., 1., 1., 1.],
[ 0., 0., 0., 0.]])
>>> #-- reinit arrays and view
>>> z = np.zeros([2,4])
>>> z0 = z[0,:] #-- view
>>> #-- This does NOT work!
>>> #-- store data into view
>>> z0 = a
>>> z0.flags.owndata
True
我知道如何使用+=
-=
*=
/=
和就地修改是採取out
參數numpy的功能,所以你可以做這樣的事情np.abs(x, x)
採取x
的絕對值-地點。
但是如何在不修改的情況下將數據存儲到view
?
濫用的add
功能(加零和存儲)的作品,但並不覺得「正確」:
np.add(a,0,z0)
太棒了!感謝您的解釋! – drrossum