2016-04-27 86 views
1

我有兩個numpy數組dQ/dx和dQ/dt,我想計算v =(dQ/dt)/(dQ/dx)/dx和dQ/dt非零。如果dQ/dx或dQ/dt等於零,那麼V = 0。在示例dQ/dx = [0,0,0,0,0.1],dQ/dt = [0.1,0,0.4,0] V = [0,0,2,0]。 我可以通過循環遍歷所有數組元素來做到這一點,但是有更多的「numpy」方法來完成它。先謝謝你。Numpy:計算特定陣列位置的表達式

回答

1

試試這個代碼:

>>> import numpy as np 
>>> dQdx = np.asarray([0, 0, 0.2, 0.1]) 
>>> dQdt = np.asarray([0.1 , 0, 0.4, 0]) 
>>> V = np.where(np.logical_and(dQdt, dQdx), dQdt/dQdx, 0) 
>>> V 
array([ 0., 0., 2., 0.]) 
+0

它爲我工作。感謝您的幫助。 –