Home » NumPy: The Difference Between np.linspace and np.arange

NumPy: The Difference Between np.linspace and np.arange

by Erma Khan

When it comes to creating a sequence of values, linspace and arange are two commonly used NumPy functions.

Here is the subtle difference between the two functions:

  • linspace allows you to specify the number of steps
  • arange allows you to specify the size of the steps

The following examples show how to use each function in practice.

Example 1: How to Use np.linspace

The np.linspace() function uses the following basic syntax:

np.linspace(start, stop, num, …)

where:

  • start: The starting value of the sequence
  • stop: The end value of the sequence
  • num: the number of values to generate

The following code shows how to use np.linspace() to create 11 values evenly spaced between 0 and 20:

import numpy as np

#create sequence of 11 evenly spaced values between 0 and 20
np.linspace(0, 20, 11)

array([ 0.,  2.,  4.,  6.,  8., 10., 12., 14., 16., 18., 20.])

The result is an array of 11 values that are evenly spaced between 0 and 20.

Using this method, np.linspace() automatically determines how far apart to space the values.

Example 2: How to Use np.arange

The np.arange() function uses the following basic syntax:

np.arange(start, stop, step, …)

where:

  • start: The starting value of the sequence
  • stop: The end value of the sequence
  • step: The spacing between values

The following code shows how to use np.arange() to create a sequence of values between 0 and 20 where the spacing between each value is 2:

import numpy as np

#create sequence of values between 0 and 20 where spacing is 2
np.arange(0, 20, 2)

array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])

The result is a sequence of values between 0 and 20 where the spacing between each value is 2.

Using this method, np.arange() automatically determines how many values to generate.

If we use a different step size (like 4) then np.arange() will automatically adjust the total number of values generated:

import numpy as np

#create sequence of values between 0 and 20 where spacing is 4
np.arange(0, 20, 4)

array([ 0,  4,  8, 12, 16])

Additional Resources

The following tutorials explain how to perform other common operations in Python:

How to Fill NumPy Array with Values
How to Replace Elements in NumPy Array
How to Count Unique Values in NumPy Array

Related Posts