In this tutorial, we will look at the numpy linspace method with the help of some examples. We will also look at a range of different use-cases where you might need this method.
What does numpy linspace do?
The numpy linspace() function is used to create an array of equally spaced values between two numbers. The following is its syntax:
import numpy as np # np.linspace with all the default paramters arr = np.linsapce(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0) # mostly you'll be only using these paramters arr = np.linspace(start, stop, num)
It returns a numpy array of evenly spaced numbers over the specified interval with both the endpoints “start” and “stop” included.
- You can exclude the “stop” endpoint by passing
endpointparameter which is
- It returns an array with 50 values. You can specifiy the number of values to generate by passing the desired number to the
numparamter which is 50 by default.
Let’s look at some examples of using the linspace() function for a variety of use-cases:
1. Equally spaced numbers between two integers
Let’s create an array of equally spaced values between the numbers 1 and 10.
import numpy as np # using numpy linspace arr = np.linspace(1, 10) # display the returned array print(arr)
[ 1. 1.18367347 1.36734694 1.55102041 1.73469388 1.91836735 2.10204082 2.28571429 2.46938776 2.65306122 2.83673469 3.02040816 3.20408163 3.3877551 3.57142857 3.75510204 3.93877551 4.12244898 4.30612245 4.48979592 4.67346939 4.85714286 5.04081633 5.2244898 5.40816327 5.59183673 5.7755102 5.95918367 6.14285714 6.32653061 6.51020408 6.69387755 6.87755102 7.06122449 7.24489796 7.42857143 7.6122449 7.79591837 7.97959184 8.16326531 8.34693878 8.53061224 8.71428571 8.89795918 9.08163265 9.26530612 9.44897959 9.63265306 9.81632653 10. ]
We get 50 equally spaced values between 1 and 10 (both inclusive). Let’s confirm the size and type of arr –
# size of arr print(len(arr)) # type of arr print(type(arr))
50 <class 'numpy.ndarray'>
The returned object is a numpy array of size 50. The size is 50 because the default value of the
num parameter is 50.
2. Getting custom number of values with numpy linspace()
Let’s now provide a custom value for the parameter
num. For example, let’s create 10 equally spaced values between 2 and 20
# using numpy linspace arr = np.linspace(2, 20, 10) # display the returned array print(arr)
[ 2. 4. 6. 8. 10. 12. 14. 16. 18. 20.]
We get 10 numbers that are equally spaced between 2 and 20.
np.linspace(start, stop, num) will be the one that you might end up using the most.
3. numpy linspace() not including the stop endpoint
By default, the
np.linspace() function includes both the start and the stop endpoints in the generated array. If you don’t want the stop endpoint to be included, pass
False to the
endpoint parameter. For example, let’s create 10 equally spaced values between 2 and 20 with 20 not included.
# using numpy linspace arr = np.linspace(2, 20, 10, endpoint=False) # display the returned array print(arr)
[ 2. 3.8 5.6 7.4 9.2 11. 12.8 14.6 16.4 18.2]
In the output, you can see that we get 10 values but 20 is not included. The step size is different for the same start and stop values as in the previous example and is calculated using (stop-start)/(num+1) which comes out to be around 1.8 in this example. Note that this way of step size calculation is used only when
endpoint=False. That is when the stop endpoint is not included.
4. numpy linspace() in reverse order
If you want to get values between two numbers starting from the largest, pass the larger number as the start value and the smaller number as the end value. For example, let’s get 10 equally spaced values between 2 and 20 but in the reverse order.
# using numpy linspace in reverse order arr = np.linspace(20, 2, 10) # display the returned array print(arr)
[20. 18. 16. 14. 12. 10. 8. 6. 4. 2.]
Here we passed 20 as the start value and 2 as the end value. You can see that we get 10 equally spaced values between 2 and 20 in the reverse order.
4. Using numpy linspace() for negative numbers
You can also apply the linspace() function on negative values. For example, let’s get 5 equally spaced values between -10 and -2.
# using numpy linspace on negative values arr = np.linspace(-10, -2, 5) # display the returned array print(arr)
[-10. -8. -6. -4. -2.]
The function works similarly as it did for positive numbers. We can see that we get 5 equally spaced values between -10 and -2.
We can also get values between a range of negative and positive numbers. For example, let’s get 5 equally spaced values between -10 and 10.
# using numpy linspace arr = np.linspace(-10, 10, 5) # display the returned array print(arr)
[-10. -5. 0. 5. 10.]
For more on the numpy linspace() function, refer to its documentation.
With this, we come to the end of this tutorial. The code examples and results presented in this tutorial have been implemented in a Jupyter Notebook with a python (version 3.8.3) kernel having numpy version 1.18.5
Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.
Tutorials on numpy arrays –
- How to sort a Numpy Array?
- Create Pandas DataFrame from a Numpy Array
- Different ways to Create NumPy Arrays
- Convert Numpy array to a List – With Examples
- Append Values to a Numpy Array
- Find Index of Element in Numpy Array
- Read CSV file as NumPy Array
- Filter a Numpy Array – With Examples
- Python – Randomly select value from a list
- Numpy – Sum of Values in Array
- Numpy – Elementwise sum of two arrays
- Numpy – Elementwise multiplication of two arrays
- Using the numpy linspace() method
- Using numpy vstack() to vertically stack arrays
- Numpy logspace() – Usage and Examples
- Using the numpy arange() method
- Using numpy hstack() to horizontally stack arrays
- Trim zeros from a numpy array in Python
- Get unique values and counts in a numpy array
- Horizontally split numpy array with hsplit()