python - 当我除以零时如何得到 NaN

标签 python

当我在 Python 中进行浮点除法时,如果我除以零,我会得到一个异常:

>>> 1.0/0.0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: float division

我真的很想得到 NaNInf 代替(因为 NaNInf 会传播通过我的其余计算正确,而不是杀死我的程序)。

我该怎么做?

最佳答案

获得这种行为的最简单方法是使用 numpy.float64 而不是 Python 默认的 float 类型:

>>> import numpy
>>> numpy.float64(1.0) / 0.0
inf

当然这需要 NumPy。您可以使用numpy.seterr()微调错误处理。

关于python - 当我除以零时如何得到 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10011707/

相关文章:

python - 给定一个 Pandas 数据框,有没有一种简单的方法可以打印出生成它的命令?

python - Scapy 导入错误 'socket.gaierror: [Errno 11001] getaddrinfo failed'

python - 如何在 Python 中检查操作系统是否是 Vista?

python - 启动 python 子进程有不同的行为,具体取决于启动器

python - 将 sys.stdout 重定向到特定的 Jupyter Notebook 单元格

Python函数去除小数点右边的零,包括小数点?

python - 加载具有多个同名字段的数据框

python - Matplotlib 和 Numpy 与某些 Pandas 函数的兼容性? - 需要整数

python - 获取django中多个复选框的值

Python re.split() 与 nltk word_tokenize 和 sent_tokenize