NumPy - Array from Numerical Ranges
The NumPy package contains a number of functions which can be used to create an array from a given numerical range. Below is the list of most commonly used functions for this purpose:
Function | Description |
---|---|
arange() | Return evenly spaced values within a given interval. |
linspace() | Returns evenly spaced numbers over a specified interval. |
logspace() | Return numbers spaced evenly on a log scale. |
Lets discuss these functions in detail:
numpy.arange() function
The numpy.arange() function returns evenly spaced values within a given interval. The values are generated in the range [start, stop) with specified step size.
Syntax
numpy.arange(start, stop, step, dtype=None)
Parameters
start |
Optional. Specify start of the interval (inclusive). The default value is 0. |
stop |
Required. Specify end of the interval (exclusive). |
step |
Optional. Specify the step size. The default value is 1. |
dtype |
Optional. Specify the type of the output array. If dtype is not given, infer the data type from the other input arguments. |
Example:
The example below shows how to use arange() function to create arrays.
import numpy as np #creating array using range [10,55) #and step size = 5 Arr1 = np.arange(10,55,5) print("Arr1 is:", Arr1) #creating array using range [10,16) #and step size = 1 and dtype=float Arr2 = np.arange(10,16,dtype=float) print("Arr2 is:", Arr2) #reshaping the Arr2 Arr3 = Arr2.reshape(2,3) print("Arr3 is:\n", Arr3)
The output of the above code will be:
Arr1 is: [10 15 20 25 30 35 40 45 50] Arr2 is: [10. 11. 12. 13. 14. 15.] Arr3 is: [[10. 11. 12.] [13. 14. 15.]]
numpy.linspace() function
The numpy.linspace() function returns evenly spaced values over a specified interval. The values are generated in the range [start, stop] with specified number of samples. The endpoint of the interval can optionally be excluded.
Syntax
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
Parameters
start |
Required. Specify the starting value of the sequence. |
stop |
Required. Specify the end value of the sequence, unless endpoint is False. In that case, the sequence consists of all but the last of num + 1 evenly spaced samples, so that stop is excluded. Note that the step size changes when endpoint is False. |
num |
Optional. Specify the number of samples to generate. Default is 50. Must be non-negative. |
endpoint |
Optional. Specify boolean value. If True, stop is the last sample. Otherwise, it is not included. Default is True. |
retstep |
Optional. Specify boolean value. If True, return (samples, step), where step is the spacing between samples. |
dtype |
Optional. Specify type of the output array. If dtype is not given, infer the data type from the other input arguments. |
Example:
In the example below, linspace() function is used with different parameters to create arrays.
import numpy as np #creating 5 samples points in the given range Arr1 = np.linspace(1,5,num=5) print("Arr1 is:", Arr1) #when endpoint=False, (num+1) samples are #generated and returns samples without last Arr2 = np.linspace(1,5,num=5,endpoint=False) print("Arr2 is:", Arr2) #when retstep=True, returns (samples, step) Arr3 = np.linspace(1,5,num=5,retstep=True) print("Arr3 is:", Arr3)
The output of the above code will be:
Arr1 is: [1. 2. 3. 4. 5.] Arr2 is: [1. 1.8 2.6 3.4 4.2] Arr3 is: (array([1., 2., 3., 4., 5.]), 1.0)
numpy.logspace() function
The numpy.logspace() function returns numbers spaced evenly on a log scale. The values are generated in the range [base ** start, base ** stop] with specified number of samples. The endpoint of the interval can optionally be excluded.
Syntax
numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
Parameters
start |
Required. Specify the starting value of the sequence. The starting value is base ** start. |
stop |
Required. Specify the end value of the sequence (end value is base ** end), unless endpoint is False. In that case, num + 1 values are spaced over the interval in log-space, of which all but the last (a sequence of length num) are returned. |
num |
Optional. Specify the number of samples to generate. Default is 50. Must be non-negative. |
endpoint |
Optional. Specify boolean value. If True, stop is the last sample. Otherwise, it is not included. Default is True. |
base |
Optional. Specify base of the log space. The step size between the elements in ln(samples) / ln(base) (or log_base(samples)) is uniform. Default is 10.0. |
dtype |
Optional. Specify type of the output array. If dtype is not given, infer the data type from the other input arguments. |
Example:
In the example below, logspace() function is used with different parameters to create arrays.
import numpy as np #creating 5 samples points in the given range Arr1 = np.logspace(1,2,num=5) print("Arr1 is:", Arr1) #when endpoint=False, (num+1) samples are #generated and returns samples without last Arr2 = np.logspace(1,2,num=5,endpoint=False) print("Arr2 is:", Arr2) #using base=2.0 Arr3 = np.logspace(1,2,num=5,base=2.0) print("Arr3 is:", Arr3)
The output of the above code will be:
Arr1 is: [10. 17.7827941 31.6227766 56.23413252 100. ] Arr2 is: [10. 15.84893192 25.11886432 39.81071706 63.09573445] Arr3 is: [2. 2.37841423 2.82842712 3.36358566 4. ]