numpy.ma.arange #
- 嘛。arange ( [ start , ] stop , [ step , ] dtype=None , * , like=None ) = <numpy.ma.core._convert2ma对象> #
返回给定间隔内均匀分布的值。
arange
可以使用不同数量的位置参数来调用:arange(stop)
:在半开区间 (即包含start但不包含stop 的区间)内生成值。[0, stop)
arange(start, stop)
:在半开区间内生成值。[start, stop)
arange(start, stop, step)
值在半开区间 内生成,值之间的间距由 给定 。[start, stop)
step
对于整数参数,该函数大致相当于 Python 内置函数
range
,但返回一个 ndarray 而不是range
实例。当使用非整数步长(例如 0.1)时,通常最好使用
numpy.linspace
。有关详细信息,请参阅下面的警告部分。
- 参数:
- 起始整数或实数,可选
间隔开始。间隔包括该值。默认起始值为 0。
- 停止整数或实数
间隔结束。间隔不包括此值,除非在某些情况下,step不是整数并且浮点舍入会影响out的长度。
- 步长整数或实数,可选
值之间的间距。对于任何输出out,这是两个相邻值 之间的距离。默认步长为 1。如果将step指定为位置参数, 则还必须给出start 。
out[i+1] - out[i]
- 数据类型数据类型,可选
输出数组的类型。如果
dtype
未给出,则从其他输入参数推断数据类型。- 类似array_like,可选
允许创建非 NumPy 数组的引用对象。如果传入的类似数组
like
支持__array_function__
协议,则结果将由它定义。在这种情况下,它确保创建一个与通过此参数传入的数组对象兼容的数组对象。1.20.0 版本中的新增功能。
- 返回:
- 排列MaskedArray
均匀分布的值的数组。
对于浮点参数,结果的长度为 。由于浮点溢出,此规则可能会导致out的最后一个元素大于stop。
ceil((stop - start)/step)
警告
输出的长度可能在数值上不稳定。
另一个稳定性问题是由于
numpy.arange
.用于填充数组的实际步骤值是 而不是步骤。由于铸造或当 start远大于step时使用浮点,此处可能会发生精度损失。这可能会导致意外的行为。例如:dtype(start + step) - dtype(start)
>>> np.arange(0, 5, 0.5, dtype=int) array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) >>> np.arange(-3, 3, 0.5, dtype=int) array([-3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8])
numpy.linspace
在这种情况下,应优先使用。内置函数生成
range
具有任意大小的 Python 内置整数,同时numpy.arange
生成numpy.int32
ornumpy.int64
数字。这可能会导致大整数值的结果不正确:>>> power = 40 >>> modulo = 10000 >>> x1 = [(n ** power) % modulo for n in range(8)] >>> x2 = [(n ** power) % modulo for n in np.arange(8)] >>> print(x1) [0, 1, 7776, 8801, 6176, 625, 6576, 4001] # correct >>> print(x2) [0, 1, 7776, 7185, 0, 5969, 4816, 3361] # incorrect
也可以看看
numpy.linspace
均匀分布的数字并仔细处理端点。
numpy.ogrid
N 维中均匀分布的数字数组。
numpy.mgrid
N 维中均匀分布的数字的网格状阵列。
- 如何创建具有规则间隔值的数组
例子
>>> np.arange(3) array([0, 1, 2]) >>> np.arange(3.0) array([ 0., 1., 2.]) >>> np.arange(3,7) array([3, 4, 5, 6]) >>> np.arange(3,7,2) array([3, 5])