我觉得这很奇怪。有人能告诉我这是怎么回事吗?
>>>a = [1,0,1]
>>>np.mean(a)
0.66666666666666663
>>>2.0/3
0.6666666666666666
输出末尾的 3 是怎么回事np.mean(a)
?为什么它不是像下面一行那样的 6 或 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 http://docs.scipy.org/doc/numpy/reference/arrays.scalars.html and numpy dtypes http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)