Python NumPy - Numerical Operations on Arrays

Arrays have a unique advantage over Python lists in that they allow you to perform element-wise operations without the need for a for loop. This makes computations very efficient specially while dealing with large data sets.

Suppose we have a list and we want to multiply all its elements by 3 (scalar). If we try to directly multiply it by three, it will just add the list elements three times, which is not what we wanted.

>>> a = [1,3,5]
>>> a*3
[1, 3, 5, 1, 3, 5, 1, 3, 5]
>>>

To get the right results, you will use the for-loop approach which would look as follows:

>>> a = [1,3,5]
>>> b = [3*x for x in a]
>>> b
[3, 9, 15]
>>>

Grouping these element-wise operations together, a process known as vectorization, allows NumPy to perform such computations much more rapidly as shown below:

>>> import numpy as np
>>> a = np.array([1, 3, 5])
>>> b = a*3
>>> b
array([ 3,  9, 15])
>>>

These vectorized operations are not just restricted to interactions between arrays and scalars. We can even perform fast element-wise operations between arrays. The following example shows element-wise subtraction of two arrays.

>>> a = np.array([10,15,18])
>>> b = np.array([4,5,6])
>>> c = a - b
>>> c
array([ 6, 10, 12])
>>>

When the shapes of the two arguments are not the same, but share a common shape dimension, the operation is broadcasted across the array. In other words, NumPy expands the arrays such that the operation becomes viable. This process is called broadcasting.

>>> b
array([4, 5, 6])
>>> x= np.arange(6).reshape((2,3))
>>> x
array([[0, 1, 2],
       [3, 4, 5]])
>>> y=x*b
>>> y
array([[ 0,  5, 12],
       [12, 20, 30]])
>>>

There are broadcasting rules but we will discuss those in an advanced course on NumPy.

Exercises

  • Using NumPy array, create a vector with values ranging from 10 to 49
  • Create a 3x3 matrix with values ranging from 0 to 8. Multiply all the elements of the matrix with a magnitude of 3.

You may find these interesting

Operational Risk Data
For any bank, the measurement and management of operational risk is of prime importance. One of the...
Open Market Operations
The central bank of a country employs open market operations to implement the monetary policy. In th...
Types of Operational Risk
The financial institutions encounter a variety of operational risks on a daily basis. It’s important...

Related Downloads

Finance Train Premium
Accelerate your finance career with cutting-edge data skills.
Join Finance Train Premium for unlimited access to a growing library of ebooks, projects and code examples covering financial modeling, data analysis, data science, machine learning, algorithmic trading strategies, and more applied to real-world finance scenarios.
I WANT TO JOIN
JOIN 30,000 DATA PROFESSIONALS

Free Guides - Getting Started with R and Python

Enter your name and email address below and we will email you the guides for R programming and Python.

Saylient AI Logo

Accelerate your finance career with cutting-edge data skills.

Join Finance Train Premium for unlimited access to a growing library of ebooks, projects and code examples covering financial modeling, data analysis, data science, machine learning, algorithmic trading strategies, and more applied to real-world finance scenarios.