【发布时间】:2017-05-25 18:32:13
【问题描述】:
我想将限制小数位数减少到特定位置(不是四舍五入)。例如 1.555 到 1.55 而不是 1.56。 pandas 或 numpy 没有更好的/内置方式吗?这是我能想到的唯一方法。
import numpy as np
a = np.array([1.555, 2.559])
precision = 2
adj = 10 ** precision
np.floor(a * adj) / adj
array([ 1.55, 2.55])
【问题讨论】:
-
这可能会有所帮助:您要查找的术语是
truncation -
是的,看到了这个链接,但那是 8 年前的事了。所以我想现在可能有更好的方法。我也可以做
float('%.2f'%(1.555)),但似乎不是最聪明的事情。 -
问题的年龄无关紧要。如果它与您的问题相同,那么您的问题是重复的。但是,您的问题完全不一样,因为您要问是否有更好的方法在
pandas或numpy中。 -
是的,从那时起,'pandas' 和 ''numpy' 中添加了很多新功能。所以我想现在可能有一个不错的方法。
标签: python pandas numpy decimal