我觉得这很奇怪.谁能告诉我这里发生了什么?
>>>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
scalars和numpy
dtypes的时候了.