我想截断 numpy 数组中的浮点值,例如
2.34341232 --> 2.34
我读了帖子 truncate floating point但它是一个漂浮物。我不想在 numpy 数组上运行循环,它会非常昂贵。 numpy 中是否有任何内置方法可以轻松做到这一点?我确实需要输出为 float 而不是字符串。
最佳答案
试用 numpy.trunc() 的修改版本.
import numpy as np
def trunc(values, decs=0):
return np.trunc(values*10**decs)/(10**decs)
遗憾的是,numpy.trunc
函数不允许小数截断。幸运的是,将参数相乘并将其结果除以 10 的幂得到了预期的结果。
vec = np.array([-4.79, -0.38, -0.001, 0.011, 0.4444, 2.34341232, 6.999])
trunc(vec, decs=2)
返回:
>>> array([-4.79, -0.38, -0. , 0.01, 0.44, 2.34, 6.99])
关于python - 截断十进制数字 numpy float 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42021972/