在double_scalars中遇到无效值警告,可能是numpy
当我运行我的代码时,我会得到这些警告,总是以四个一组的forms出现。 我试图通过在某些语句之前和之后放置debugging消息来定位源,以查明其来源。
Warning: invalid value encountered in double_scalars Warning: invalid value encountered in double_scalars Warning: invalid value encountered in double_scalars Warning: invalid value encountered in double_scalars
这是一个Numpy警告,什么是双标量?
从Numpy我使用
min(), argmin(), mean() and random.randn()
我也使用Matplotlib
它看起来像一个浮点计算错误。 检查numpy.seterr函数以获取有关它发生的位置的更多信息。
在我的情况下,我发现它被零除
有时数据中的NaN或空值将会与Numpy一起产生这个错误。 如果你是从say,CSV文件或类似的东西中提取数据,然后使用numpy数组对数据进行操作,那么问题可能源于你的数据提取。 您可以尝试为您的代码提供一组已知值的数据,并查看是否得到相同的结果。
传递给numpy.mean
零大小的数组引发了这个警告(如几个注释中所示)。
对于其他一些候选人:
-
median
也会在零大小的数组median
引发这个警告。
其他候选人不提这个警告:
-
min,argmin
都在空数组上提高了ValueError
-
randn
需要*arg
; 使用randn(*[])
返回一个随机数 -
std,var
返回一个空数组上的nan
我遇到了类似的问题 – 在…中遇到无效的值花了很多时间,试图找出是什么原因导致这个错误我相信我的情况下,这是由于我的数据框中的NaN。 看看在pandas丢失数据的工作。
无==无真
np.nan == np.nan False
当NaN不等于NaN时,那么像分割和乘法这样的算术运算会引起这个错误。
你可以做几件事来避免这个问题:
-
使用pd.set_option设置分析的小数位数,所以infinitesmall数字不会触发类似的问题 – ('display.float_format',lambda x:'%.3f'%x)。
-
使用df.round()对数字进行四舍五入,以便Panda从分析中删除剩余的数字。 而最重要的是,
-
将NaN设置为零df = df.fillna(0)。 如果用零填充NaN不适用于您的数据集,请小心,因为这会将logging视为零,因此平均值,标准偏差等中的N也会发生变化。
- C / C ++编译器警告:你清理所有的代码来删除它们或将它们留在?
- Xcode构build警告 – 目标完整性 – 供应configuration文件仅对ProjectnameTests目标过期
- “解引用types指针会打破严格别名规则”警告
- Apple Interface Builder警告:内容矩形不会完全位于屏幕上,并且可能对所有屏幕都不可见
- 非法string偏移警告PHP
- 我怎样才能在PHP中处理file_get_contents()函数的警告?
- 我打电话给session_start()时如何解决Permission错误?
- 如何find哪些promise在nodejs中未处理UnhandledPromiseRejectionWarning?
- 如何从库头压缩GCC警告?