使用NumPy处理溢出错误:Python中的数学范围错误

2024-06-23 20:12:38 发布

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

我用Python编写了以下代码

z =  [[complex(x,y) for x in range(1000)]for y in range(1000)]
nexp = np.frompyfunc(cmath.exp,1,1)
nexp(z)

我有溢出错误:数学范围错误。在

有没有办法找出数组中哪些元素出现错误并加以处理? 我的意思是,如果我简单地迭代数组,我可以这样做

^{pr2}$

Tags: 代码in元素for错误nprange数学
1条回答
网友
1楼 · 发布于 2024-06-23 20:12:38

为什么不使用numpy类型和方法而不是complex和{}?在

演示:

In [302]: x = np.arange(701, 720) + 1j*np.arange(701, 720)

In [303]: y = np.exp(x)
~\Anaconda3_5.0\envs\py36\Scripts\ipython3:1: RuntimeWarning: overflow encountered in exp

这就产生了:

^{pr2}$

所有无限元素:

^{3}$

第一个无限元素的索引:

In [306]: np.isinf(y).argmax()
Out[306]: 9

相关问题 更多 >

    热门问题