Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpy除以零的结果_Python_Numpy - Fatal编程技术网

Python numpy除以零的结果

Python numpy除以零的结果,python,numpy,Python,Numpy,当把不同的红利除以零时,我得到了不同的结果 arr = np.array([0.0, 1.0, -0.1]) print(arr/0) 结果如下 [ nan inf -inf] 为什么??我希望结果都是nan 顺便说一句,我收到了两种警告 __main__:1: RuntimeWarning: divide by zero encountered in divide __main__:1: RuntimeWarning: invalid value encountered in divid

当把不同的红利除以零时,我得到了不同的结果

arr = np.array([0.0, 1.0, -0.1])
print(arr/0)
结果如下

[ nan  inf -inf]

为什么??我希望结果都是
nan

顺便说一句,我收到了两种警告

__main__:1: RuntimeWarning: divide by zero encountered in divide
__main__:1: RuntimeWarning: invalid value encountered in divide

IEEE 754对零除的定义如下:

当a为正时,a÷+0为正无穷大;当a为负时,a为负无穷大;当a=±0时,a为NaN


来源:

“我希望结果都是nan”-为什么?这是完全正常的IEEE 754浮点行为。@user2357112好的,这就是答案。:)不确定您是否是合适的提问者,但如果键入
x/0
,但允许在numpy中执行此操作时完成执行,为什么python会立即停止并抛出异常?如果numpy强迫我面对ZeroDivision错误,如果我知道这是问题所在,并且它吐出了一个行号,而不是让我的程序以奇怪的方式终止,那么我会浪费更少的时间results@frank我猜numpy默认使用float64作为数字类型,整数和浮点数的作用不同于零除。当整数被零除时,python会抛出一个错误,因为这是一个未定义的操作,而浮点数被零除的定义如上所述。我不这么认为。我刚刚在我的python2.7控制台中输入了
1/0。
,它吐出了
zerodivision错误:浮点除以零
@frank经过一些搜索,我猜这只是语言设计的问题。Numpy符合ieee754,而python则不符合,并抛出一个异常。我知道这不是你干的。只是调试起来不方便