【发布时间】:2014-10-08 03:13:05
【问题描述】:
我正在尝试在 python 中执行元素明智除法,但如果遇到零,我需要商为零。
例如:
array1 = np.array([0, 1, 2])
array2 = np.array([0, 1, 1])
array1 / array2 # should be np.array([0, 1, 2])
我总是可以在我的数据中使用 for 循环,但要真正利用 numpy 的优化,我需要除以零错误时返回 0,而不是忽略错误。
除非我遗漏了什么,否则numpy.seterr() 似乎无法在错误时返回值。有没有人对我如何在设置自己的除以零错误处理时充分利用 numpy 有任何其他建议?
【问题讨论】:
-
在我的 Python 版本(Python 2.7.11 |Continuum Analytics, Inc.)中,这正是您得到的输出。带有警告。
-
最简洁的正确答案是stackoverflow.com/a/37977222/2116338
-
如果你在做
x / np.abs(x):np.sign()映射 R -> {-1, 0, 1}。
标签: python arrays numpy error-handling divide-by-zero