创建等间距阵列

时间:2018-05-14 08:06:07

标签: python numpy

我想创建一个数字等间距(0.1)在0.1到100之间的数组

step=0.1
range_a=numpy.arange(step,100+step,step)

为什么我的第一个元素是

range_a[0]
Out[27]: 0.10000000000000001

而不是0.1?

以及如何获得等于的数组 [0.1,0.2,0.3,...,100]

1 个答案:

答案 0 :(得分:-3)

正如评论中所提到的,这是由于如何处理浮点数。通常,浮点数用于不精确但快速计算,而精度很重要时使用双精度浮点数。您的代码可以按如下方式重写,以准确获得您想要的内容

step = 0.1
range_a = numpy.arange(step, 100+step, step).astype(numpy.double)