我有一个np.sqrt()
代码段没有检查负值,所以我可以理解得到了警告。我以为我修好了,但我又找到了一个:
RuntimeWarning: invalid value encountered in sqrt
data_std = np.sqrt(np.absolute(data_std))
除了np.sqrt
答案 0 :(得分:0)
好吧,让我们看一下您可以输入到sqrt
的可能值。
考虑欧几里得平面上的数字,并且numpy具有两个特殊值:
1
> 1.0
-1
> RuntimeWarning : invalid value encountered in sqrt
-1j
> (0.7071067811865476-0.7071067811865475j)
负虚数,例如1j
> (0.7071067811865476+0.7071067811865475j)
inf
> inf
-inf
> RuntimeWarning: invalid value encountered in sqrt
inf * 1j
> (inf+infj)
inf * -1j
> (inf-infj)
nan
> nan
因此,似乎可能导致此问题的唯一其他值是-np.inf
,无论如何,您可能会将其视为在负数示例中。