In this lesson, we will be working through various operations included in the NumPy library.
Throughout this lesson, we will be assuming that the
import numpy as np command has already been run.
For this lesson, I will be working with an array of length 4 created using
np.arange in all of the examples.
If you'd like to compare my array with the outputs used in this lesson, here is how I created and printed the array:
arr = np.arange(4) arr
The array values are below.
array([0, 1, 2, 3])
NumPy makes it very easy to perform arithmetic with arrays. You can either perform arithmetic using the array and a single number, or you can perform arithmetic between two NumPy arrays.
We explore each of the major mathematical operations below.
When adding a single number to a NumPy array, that number is added to each element in the array. An example is below:
2 + arr #Returns array([2, 3, 4, 5])
You can add two NumPy arrays using the
+ operator. The arrays are added on an element-by-element basis (meaning the first elements are added together, the second elements are added together, and so on).
An example is below.
arr + arr #Returns array([0, 2, 4, 6])
Like addition, subtraction is performed on an element-by-element basis for NumPy arrays. You can find example for both a single number and another NumPy array below.
arr - 10 #Returns array([-10, -9, -8, -7]) arr - arr #Returns array([0, 0, 0, 0])
Multiplication is also performed on an element-by-element basis for both single numbers and NumPy arrays.
Two examples are below.
6 * arr #Returns array([ 0, 6, 12, 18]) arr * arr #Returns array([0, 1, 4, 9])
By this point, you're probably not surprised to learn that division performed on NumPy arrays is done on an element-by-element basis. An example of dividing
arr by a single number is below:
arr / 2 #Returns array([0. , 0.5, 1. , 1.5])
Division does have one notable exception compared to the other mathematical operations we have seen in this lesson. Since we cannot divide by zero, doing so will cause the corresponding field to be populated by a
nan value, which is Python shorthand for "Not A Number". Jupyter Notebook will also print a warning that looks like this:
RuntimeWarning: invalid value encountered in true_divide
An example of dividing by zero is with a NumPy array is shown below.
arr / arr #Returns array([nan, 1., 1., 1.])
We will learn how to deal with
nan values in more detail later in this course.
Many operations cannot simply be performed by applying the normal syntax to a NumPy array. In this section, we will explore several mathematical operations that have built-in methods in the NumPy library.
You can calculate the square root of every element in an array using the
np.sqrt(arr) #Returns array([0. , 1. , 1.41421356, 1.73205081])
Many other examples are below (note that you will not be tested on these, but it is still useful to see the capabilities of NumPy):
np.exp(arr) #Returns e^element for every element in the array np.sin(arr) #Calculate the trigonometric sine of every value in the array np.cos(arr) #Calculate the trigonometric cosine of every value in the array np.log(arr) #Calculate the base-ten logarithm of every value in the array
In this lesson, we explored the various methods and operations available in the NumPy Python library. We will text your knowledge of these concepts in the practice problems presented next.