对于.e.g,我想截断numpy数组中的浮点值。
2.34341232 --> 2.34
我读了truncate floating point的帖子,但它是一个浮点数。我不想在numpy数组上运行循环,这将是非常昂贵的。numpy中有没有内置的方法可以很容易地做到这一点呢?我确实需要一个浮点型的输出,而不是字符串。
发布于 2017-09-03 13:39:59
试试这个修改过的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])
发布于 2017-02-03 18:53:05
import numpy as np
a = np.arange(4) ** np.pi
a
=> array([ 0. , 1. , 8.82497783, 31.5442807 ])
a.round(decimals=2)
=> array([ 0. , 1. , 8.82, 31.54])
https://stackoverflow.com/questions/42021972
复制相似问题