我一直使用np.arange
。我最近遇到了np.linspace
。我想知道他们之间到底有什么区别...查看他们的文档:
返回给定间隔内的均匀间隔的值。
在指定的间隔内返回均等的数字。
我唯一看到的区别是linspace
有更多选择……就像选择包含最后一个元素一样。
您会推荐这两个中的哪个?为什么?在什么情况下,np.linspace
优越?
答案 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])