Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
NumPy linspace()
creates array with evenly shaped elements over an interval
The linspace() method creates an array with evenly spaced elements over an interval.
Example
import numpy as np
# create an array with 3 elements between 5 and 10
array1 = np.linspace(5, 10, 3)
print(array1)
# Output: [ 5. 7.5 10. ]
linspace() Syntax
The syntax of linspace() is:
numpy.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None, axis = 0)
linspace() Argument
The linspace() method takes the following arguments:
start- the start value of the sequence, 0 by default (can bearray_like)stop- the end value of the sequence (can bearray_like)num(optional)- number of samples to generate (int)endpoint(optional)- specifies whether to include end value (bool)retstep(optional)- ifTrue, returns steps between the samples (bool)dtype(optional)- type of output arrayaxis(optional)- axis in the result to store the samples(int)
Notes:
stepcan't be zero. Otherwise, you'll get aZeroDivisionError.- If
dtypeis omitted,linspace()will determine the type of the array elements from the types of other parameters. - In
linspace(), thestopvalue is inclusive.
linspace() Return Value
The linspace() method returns an array of evenly spaced values.
Note: If retstep is True, it also returns the stepsize i.e., interval between two elements.
Example 1: Create a 1-D Array Using linspace
import numpy as np
# create an array of 5 elements between 2.0 and 3.0
array1 = np.linspace(2.0, 3.0, num=5)
print("Array1:", array1)
# create an array of 5 elements between 2.0 and 3.0 excluding the endpoint
array2 = np.linspace(2.0, 3.0, num=5, endpoint=False)
print("Array2:", array2)
# create an array of 5 elements between 2.0 and 3.0 with the step size included
array3, step_size = np.linspace(2.0, 3.0, num=5, retstep=True)
print("Array3:", array3)
print("Step Size:", step_size)
Output
Array1: [2. 2.25 2.5 2.75 3. ] Array2: [2. 2.2 2.4 2.6 2.8] Array3: [2. 2.25 2.5 2.75 3. ] Step Size: 0.25
Example 2: Create an n-D Array Using linspace
import numpy as np
# create an array of 5 elements between [1, 2] and [3, 4]
array1 = np.linspace([1, 2], [3, 4], num=5)
print("Array1:")
print(array1)
# create an array of 5 elements between [1, 2] and [3, 4] along axis 1
array2 = np.linspace([1, 2], [3, 4], num=5, axis=1)
print("\nArray2:")
print(array2)
Output
Array1: [[1. 2. ] [1.5 2.5] [2. 3. ] [2.5 3.5] [3. 4. ]] Array2: [[1. 1.5 2. 2.5 3. ] [2. 2.5 3. 3.5 4. ]]
Key Differences Between arange and linspace
Both np.arange() and np.linspace() are NumPy functions used to generate numerical sequences, but they have some differences in their behavior.
arange()generates a sequence of values fromstarttostopwith a givenstepsize whereaslinspacegenerates a sequence ofnumevenly spaced values fromstarttostop.arange()excludesstopvalue whereaslinspaceincludesstopvalue unless specified otherwise byendpoint = False
Let us see an example.
import numpy as np
# elements between 10 and 40 with stepsize 4
array1 = np.arange(10, 50 , 4)
# generate 4 elements between 10 and 40
array2 = np.linspace(10, 50 , 4)
print('Using arange:', array1) # doesn't include 50
print('Using linspace:', array2) #includes 50
Output
Using arange: [10 14 18 22 26 30 34 38 42 46] Using linspace: [10. 23.33333333 36.66666667 50. ]