Given vector *a* = [a_{1}, a_{2}, a_{3}] and vector *b* = [b_{1}, b_{2}, b_{3}], the **dot product** of the vectors, denoted as **a · b**, is given by:

**a · b** = a_{1} * b_{1} + a_{2} * b_{2} + a_{3} * b_{3}

For example, if *a* = [2, 5, 6] and *b* = [4, 3, 2], then the dot product of *a* and *b* would be equal to:

**a · b = **2*4 + 5*3 + 6*2

**a · b = **8 + 15 + 12

**a · b = **35

Simply put, the dot product is the sum of the products of the corresponding entries in two vectors.

In Python, you can use the **numpy.dot()** function to quickly calculate the dot product between two vectors:

import numpy as np np.dot(a, b)

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

**Example 1: Calculate Dot Product Between Two Vectors**

The following code shows how to use **numpy.dot()** to calculate the dot product between two vectors:

import numpy as np #define vectors a = [7, 2, 2] b = [1, 4, 9] #calculate dot product between vectors np.dot(a, b) 33

Here is how this value was calculated:

**a · b =**7*1 + 2*4 + 2*9**a · b =**7 + 8 + 18**a · b =**33

**Example 2: Calculate Dot Product Between Two Columns**

The following code shows how to use **numpy.dot()** to calculate the dot product between two columns in a pandas DataFrame:

import pandas as pd import numpy as np #create DataFrame df = pd.DataFrame({'A': [4, 6, 7, 7, 9], 'B': [5, 7, 7, 2, 2], 'C': [11, 8, 9, 6, 1]}) #view DataFrame df A B C 0 4 5 11 1 6 7 8 2 7 7 9 3 7 2 6 4 9 2 1 #calculate dot product between column A and column C np.dot(df.A, df.C) 206

Here is how this value was calculated:

**A · C =**4*11 + 6*8 + 7*9 + 7*6 + 9*1**A · C =**44 + 48 + 63 + 42 + 9**A · C =**206

**Note:** Keep in mind that Python will throw an error if the two vectors you’re calculating the dot product for have different lengths.

**Additional Resources**

How to Add Rows to a Pandas DataFrame

How to Add a Numpy Array to a Pandas DataFrame

How to Calculate Rolling Correlation in Pandas