Python 除可能产生警告的负数以外的输入;无效值";用numpy.sqrt?

Python 除可能产生警告的负数以外的输入;无效值";用numpy.sqrt?,python,numpy,absolute,Python,Numpy,Absolute,我有一个np.sqrt()。我以为我已经修好了,但我又得到了一个: RuntimeWarning: invalid value encountered in sqrt data_std = np.sqrt(np.absolute(data_std)) 对于np.sqrt是否存在除负数以外的任何无效数字?负数实数不定义平方根,对于“实”数据类型int、float、-np.inf(以及nan本身)的负输入,numpy将生成nan 但是,所有复数都定义了平方根: 数据类型 示例x np.sqrt

我有一个
np.sqrt()。我以为我已经修好了,但我又得到了一个:

RuntimeWarning: invalid value encountered in sqrt
  data_std = np.sqrt(np.absolute(data_std))

对于
np.sqrt
是否存在除负数以外的任何无效数字?

负数实数不定义平方根,对于“实”数据类型
int
float
-np.inf
(以及
nan
本身)的负输入,numpy将生成
nan

但是,所有复数都定义了平方根:

数据类型 示例
x
np.sqrt(x)
RuntimeWarning
正浮点数
1.
1.
正整数
1
1
正络合物
1+0J
1
负浮动
-1.
nan
⚠️ 负整数
-1
nan
⚠️ 负络合物
-1+0j
1j
np.inf
np.inf
np.inf
nan
⚠️
np.nan
nan

哪个版本的NumPy?@Dux
np.sqrt(np.nan)
返回
nan
np.sqrt(np.infty)
返回
inf
您能可靠地重现警告吗?如果是这样,打电话到
print(np.absolute(data\u std))
会给你答案。这能回答你的问题吗?