gpt4 book ai didi

python - 将 numpy ComplexWarning 捕获为异常

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:14 25 4
gpt4 key购买 nike

考虑以下示例:

>>> import numpy as np
>>> a = np.array([1.0, 2.1j])
>>> b = np.array(a, dtype=np.float64)
/Users/goerz/anaconda3/bin/ipython:1: ComplexWarning: Casting complex values to real discards the imaginary part
#!/Users/goerz/anaconda3/bin/python

如何将 ComplexWarning 捕获为异常?

我试过np.seterr,但这没有效果(因为它只与浮点警告有关,例如下溢/溢出)。

我也试过标准库中的with warnings.catch_warnings():上下文管理器,但它也没有效果。

最佳答案

使用 stdlib warnings filter导致这些提高而不是打印:

>>> warnings.filterwarnings(action="error", category=np.ComplexWarning)
>>> b = np.array(a, dtype=np.float64)
ComplexWarning: Casting complex values to real discards the imaginary part

您可以使用 warnings.resetwarnings 将其重置为默认过滤器.

关于python - 将 numpy ComplexWarning 捕获为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54814133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com