np.linspace和np.arange有什么区别?

时间:2020-05-30 17:13:11

标签: python numpy range linspace

我一直使用np.arange。我最近遇到了np.linspace。我想知道他们之间到底有什么区别...查看他们的文档:

np.arange

返回给定间隔内的均匀间隔的值。

np.linspace

在指定的间隔内返回均等的数字。

我唯一看到的区别是linspace有更多选择……就像选择包含最后一个元素一样。

您会推荐这两个中的哪个?为什么?在什么情况下,np.linspace优越?

1 个答案:

答案 0 :(得分:15)

np.linspace允许您定义获得的值,包括指定的最小值和最大值。它推断出步骤的大小:

np.linspace(0,1,11)
output:
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])

np.arange允许您定义步长并推断步数。

np.arange(0,1,.1)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])

来自user2357112的贡献:

np.arange排除最大值,除非四舍五入错误导致最大值出现。

例如,由于舍入错误,numpy.arange(1, 1.3, 0.1)给出了array([1. , 1.1, 1.2, 1.3])

numpy.linspace(1, 1.3, 3, endpoint=False)给出array([1. , 1.1, 1.2])