我有一个series
,
s = pd.Series([1.115,2.337,3.225])
s.mean()
2.2256666666666667
我想知道如何对mean()
和median()
值进行四舍五入,以便如果小数点后三位的数字为5,则应四舍五入,因此结果应为{{1} },而不是2.22
。
答案 0 :(得分:1)
>>> s = pd.Series([1.115,2.337,3.225])
>>> s.mean()
2.2256666666666667
>>> np.around(s.mean(), decimals=4)
2.2257
>>> np.around(s.mean(), decimals=3)
2.226
>>> np.around(s.mean(), decimals=2)
2.23
...但是:
如果小数点后第三位的数字为5,则应四舍五入为2.22,而不是2.2256666666666667。
这不仅仅是四舍五入;只有截断到3个小数位然后四舍五入时,您才获得2.22:
>>> (np.trunc([s.mean() * 1000.]) / 1000.)[0]
2.225
>>> (np.around(np.trunc([s.mean() * 1000.]) / 1000., decimals=2))[0]
2.22