numpy.arange的意外输出,步长为0.005

时间:2015-03-02 09:39:56

标签: python arrays python-3.x numpy

我正在使用numpy.arange在两个限制之间创建一个numpy数组,步长为0.005。通常我会期望输出达到但不包括停止点。例如,我使用以下内容:

np.arange(2.23, 2.24, 0.005)

我期望从中得到:

array([ 2.23 ,  2.235])

然而,我得到的是:

array([ 2.23 ,  2.235,  2.24 ])

现在这最终是我真正想要的数组,因为我要将0.005添加到我的停止点,但我不清楚为什么会发生这种情况。当我使用更大的数字和步长时,它表现得正常。这是我不知道的功能吗?

1 个答案:

答案 0 :(得分:1)

linspace可能更适合您的需求

In [401]: np.linspace(2.23, 2.24,3)
Out[401]: array([ 2.23 ,  2.235,  2.24 ])

您可以指定步数,而不是间隔。它还有其他参数来控制端点的包含或不包含等细节。

In [415]: np.linspace(2.23, 2.24,2,endpoint=False)
Out[415]: array([ 2.23 ,  2.235])