我有两个numpy数组dQ / dx和dQ / dt,我想计算v =(dQ / dt)/(dQ / dx),但仅在dQ / dx和dQ / dt都不为零的位置上进行计算。如果dQ / dx或dQ / dt等于零,则V =0。在示例dQ / dx = [0,0,0.2,0.1],dQ / dt = [0.1,0,0.4,0],应给出V = [0,0,2,0]。
我可以通过遍历所有数组元素来做到这一点,但是有没有更多的“ numpy”方法可以做到这一点。先感谢您。

最佳答案

试试这个代码:

>>> 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.])

关于python - numpy:在特定数组位置计算表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36896202/

10-09 01:42