【发布时间】:2017-06-20 16:34:25
【问题描述】:
我想截断 numpy 数组中的浮点值,例如
2.34341232 --> 2.34
我阅读了truncate floating point 的帖子,但它只是一个浮动。我不想在 numpy 数组上运行一个循环,它会非常昂贵。 numpy 中是否有任何内置方法可以轻松做到这一点?我确实需要输出为浮点数而不是字符串。
【问题讨论】:
-
Numpy 提供了 around 方法。语法为
np.around(numpy_array, num_decimals)。例如:a = np.array([2.3434]), np.around(a, 2) --> produces array([2.34])。这就是你要找的东西吗? -
您是真的想丢弃小数点后第二位的数据,还是只是想改变数据的显示方式?如果是前者,请使用
numpy.around或numpy.round方法。 -
@AlonAlexander
num = ((num*100)//1)/100这个逻辑只适用于正值。例如,将负值截断为小数点后,x = -2.134然后(-2.134*10//1)10给出-3,这是不可接受的答案。!
标签: python numpy vectorization