我想截断numpy数组中的浮点值,对于.e.g。
(apply '+ (org-map-entries (lambda () 1) "/TODO|NEXT"))
我阅读了帖子Load Testing FTP and SFTP Servers Using JMeter,但是它只用了一个浮点数。我不想在numpy阵列上运行循环,它会非常昂贵。 numpy中是否有任何内置方法可以轻松实现?我确实需要输出为float而不是字符串。
答案 0 :(得分:4)
试用此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(values, decs=2)
返回:
>>> array([-4.79, -0.38, -0. , 0.01, 0.44, 2.34, 6.99])
答案 1 :(得分:3)
使用numpy.round
:
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])