np.linspace 和 np.arange 有什么区别?
What is the difference between np.linspace and np.arange?
我一直用np.arange
。我最近遇到了 np.linspace
。我想知道它们之间到底有什么区别...查看它们的文档:
Return evenly spaced values within a given interval.
Return evenly spaced numbers over a specified interval.
我能看到的唯一区别是 linspace
有更多选项...比如选择包含最后一个元素。
您会推荐这两者中的哪一个,为什么?在哪些情况下 np.linspace
更好?
np.linspace
允许您定义获得多少个值,包括指定的最小值和最大值。它推断步长:
>>> np.linspace(0,1,11)
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])
您可以使用 endpoint=False
:
排除 stop
值(在我们的例子中是 1.3)
>>> numpy.linspace(1, 1.3, 3, endpoint=False)
array([1. , 1.1, 1.2])
我一直用np.arange
。我最近遇到了 np.linspace
。我想知道它们之间到底有什么区别...查看它们的文档:
Return evenly spaced values within a given interval.
Return evenly spaced numbers over a specified interval.
我能看到的唯一区别是 linspace
有更多选项...比如选择包含最后一个元素。
您会推荐这两者中的哪一个,为什么?在哪些情况下 np.linspace
更好?
np.linspace
允许您定义获得多少个值,包括指定的最小值和最大值。它推断步长:
>>> np.linspace(0,1,11)
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])
您可以使用 endpoint=False
:
stop
值(在我们的例子中是 1.3)
>>> numpy.linspace(1, 1.3, 3, endpoint=False)
array([1. , 1.1, 1.2])