如何正确舍入 numpy float 数组

How to properly round numpy float arrays

我在舍入浮点数时遇到了一些舍入问题。

x = np.array([[1.234793487329877,2.37432987432],[1.348732847,8437.328737874]])
np.round(x,2)

array([[  1.23000000e+00,   2.37000000e+00],
       [  1.35000000e+00,   8.43733000e+03]])

有没有办法在没有零扩展的情况下显示这些数字?

几乎不需要舍入浮点数(除非你想对它们进行分桶,那么你的代码就可以正常工作),如果你只想以较低的精度打印它们,请使用这个:

print(np.array_str(x, precision=2))