numpy.arange#

numpy.arange([start,]stop,[step,]dtype=None,*,device=None,like=None)#

Return evenly spaced values within a given interval.

arange can be called with a varying number of positional arguments:

  • arange(stop): Values are generated within the half-open interval[0,stop) (in other words, the interval includingstart butexcludingstop).

  • arange(start,stop): Values are generated within the half-openinterval[start,stop).

  • arange(start,stop,step) Values are generated within the half-openinterval[start,stop), with spacing between values given bystep.

For integer arguments the function is roughly equivalent to the Pythonbuilt-inrange, but returns an ndarray rather than arangeinstance.

When using a non-integer step, such as 0.1, it is often better to usenumpy.linspace.

See the Warning sections below for more information.

Parameters:
startinteger or real, optional

Start of interval. The interval includes this value. The defaultstart value is 0.

stopinteger or real

End of interval. The interval does not include this value, exceptin some cases wherestep is not an integer and floating pointround-off affects the length ofout.

stepinteger or real, optional

Spacing between values. For any outputout, this is the distancebetween two adjacent values,out[i+1]-out[i]. The defaultstep size is 1. Ifstep is specified as a position argument,start must also be given.

dtypedtype, optional

The type of the output array. Ifdtype is not given, infer the datatype from the other input arguments.

devicestr, optional

The device on which to place the created array. Default:None.For Array-API interoperability only, so must be"cpu" if passed.

New in version 2.0.0.

likearray_like, optional

Reference object to allow the creation of arrays which are notNumPy arrays. If an array-like passed in aslike supportsthe__array_function__ protocol, the result will be definedby it. In this case, it ensures the creation of an array objectcompatible with that passed in via this argument.

New in version 1.20.0.

Returns:
arangendarray

Array of evenly spaced values.

For floating point arguments, the length of the result isceil((stop-start)/step). Because of floating point overflow,this rule may result in the last element ofout being greaterthanstop.

Warning

The length of the output might not be numerically stable.

Another stability issue is due to the internal implementation ofnumpy.arange.The actual step value used to populate the array isdtype(start+step)-dtype(start) and notstep. Precision losscan occur here, due to casting or due to using floating points whenstart is much larger thanstep. This can lead to unexpectedbehaviour. For example:

>>>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])

In such cases, the use ofnumpy.linspace should be preferred.

The built-inrange generatesPython built-in integersthat have arbitrary size, whilenumpy.arangeproducesnumpy.int32 ornumpy.int64 numbers. This may result inincorrect results for large integer values:

>>>power=40>>>modulo=10000>>>x1=[(n**power)%moduloforninrange(8)]>>>x2=[(n**power)%moduloforninnp.arange(8)]>>>print(x1)[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct>>>print(x2)[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect

See also

numpy.linspace

Evenly spaced numbers with careful handling of endpoints.

numpy.ogrid

Arrays of evenly spaced numbers in N-dimensions.

numpy.mgrid

Grid-shaped arrays of evenly spaced numbers in N-dimensions.

How to create arrays with regularly-spaced values

Examples

>>>importnumpyasnp>>>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])
On this page