Numpy:在特定数组位置计算表达式

2024-05-16 15:46:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个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”的方法来做到这一点。先谢谢你。你知道吗


Tags: 方法numpy元素示例dt数组dqdx
1条回答
网友
1楼 · 发布于 2024-05-16 15:46:30

请尝试以下代码:

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

相关问题 更多 >