numpy arange中包含的数字

时间:2017-03-24 12:06:03

标签: python arrays numpy

我希望通过numpy.arange得到一个简单的小数范围。 但是,我的代码输出意外的结果和大小。 我的片段如下所示。

len(arange(0.60,0.70,0.01))

它返回大小为10的ndarray对象

array([0.60, ... ,0.69])

并且,最大值已更改

len(arange(0.60,0.80,0.01))

array([0.60, ... , 0.79, 0.80])

我预计它也会返回20码。

数组([0.60,...,0.79])

但是,大小为21,包括0.80 你能解释一下这是为什么吗?两个范围有什么区别?

Python:3.5.2
numpy:1.10.1

1 个答案:

答案 0 :(得分:1)

正如numpy.arange documentation所述,

“当使用非整数步骤(例如0.1)时,结果通常不一致。最好在这些情况下使用linspace。”

请注意,linspace包含两个端点,因此np.linspace(0.60,0.69,10)将生成

array([ 0.6 ,  0.61,  0.62,  0.63,  0.64,  0.65,  0.66,  0.67,  0.68,  0.69])