python – Numpy平均函数舍入错误

我觉得这很奇怪.谁能告诉我这里发生了什么?

>>>a = [1,0,1]
>>>np.mean(a)
   0.66666666666666663
>>>2.0/3
   0.6666666666666666

np.mean(a)输出结尾的3是什么?为什么它不像它下面的线或7(当四舍五入时)?

解决方法:

这只是两种不同类型的不同字符串表示的情况:

In [17]: a = [1, 0, 1]

In [18]: mean(a)
Out[18]: 0.66666666666666663

In [19]: type(mean(a))
Out[19]: numpy.float64

In [20]: 2.0 / 3
Out[20]: 0.6666666666666666

In [21]: type(2.0 / 3)
Out[21]: float

In [22]: mean(a).item()
Out[22]: 0.6666666666666666

他们比较平等:

In [24]: mean(a) == 2.0 / 3
Out[24]: True

In [25]: mean(a).item() == 2.0 / 3
Out[25]: True

现在可能是阅读numpy scalarsnumpy dtypes的时候了.

上一篇:python--使用队列结构来模拟共享打印机等候时间


下一篇:TensorfFlow 实战Google深度学习框架读书笔记三:MNIST手写数字识别