【发布时间】:2020-11-09 07:26:48
【问题描述】:
当我得到np.where 试图避免被零除时,我仍然收到错误,即使p_arr - 0.5 应该始终为> 0。
mo = np.where(p_arr > 0.5, -6.93/(p_arr - 0.5), 10)
RuntimeWarning:在 true_divide 中遇到除以零
mo = np.where(p_arr > 0.5, -6.93/(p_arr - 0.5), 10)
知道为什么以及如何解决这个问题吗?另外有什么方法可以正确调试它,所以错误会显示 p_arr 的确切值是多少?
一些测试:
x = np.where(p_arr > 0.5, p_arr, 1)
print(np.all((p_arr - 0.5 != 0))) # FALSE
print(np.all((x - 0.5 != 0))) # TRUE
【问题讨论】:
-
嗯,大概它发生在
(p_arr - 0.5) == 0的任何地方 -
注意,这是一个警告,而不是错误。
标签: python python-3.x numpy