将 numpy
更新到版本 1.14.1 后,我在执行任何命令(例如键入 1+1
)后收到以下警告消息:
/home/username/anaconda3/lib/python3.6/site-packages/numpy
/core/_methods.py:26: RuntimeWarning: invalid value encountered in reduce
return umr_maximum(a, axis, None, out, keepdims)
现在有人知道问题出在哪里吗?我该如何解决?
最佳答案
我知道我迟到了大约五个月,但我的回答可能对其他人有帮助。
首先,警告表明您正在运行 reduce
的矩阵或在内部运行 reduce
的任何其他函数具有一些无效值。这些无效值主要是 NaN
或 inf
。我创建了一个小片段来解释我的意思!!
在下面的代码片段中,我将创建一个变量 x
,其中包含一些无效值,然后运行一个在内部使用 reduce
的函数,如 numpy。最大()
。
>>> import numpy as np
>>>
>>> x = np.array([[0.2, 0.7], [np.nan, np.nan]])
>>> print(np.amax(x, axis=0))
RuntimeWarning: invalid value encountered in reduce
return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
[nan nan]
因此,我的建议是仔细检查导致此问题的矩阵。我不知道这是否与您的情况相同,但它对我有用!!
下次,当您的代码遇到任何问题时...提供导致问题的代码总是一个好主意。
关于python - 运行时警告 : invalid value encountered in reduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49013049/