Let’s assume we have two vectors,
b, and we want to add them.
a holds the squares of integers 0 to n. The vector
b holds the cube of integers 0 to n. For example, if
n = 3 then the vector
a is equal to 0, 1, or 4; and the vector
b is equal to 0, 1, or 8.
Let’s do it first with plain Python then with NumPy.
Create a new notebook and add the following code to it:
def pythonsum(n): a = list(range(n)) b = list(range(n)) c =  for i in range(len(a)): a[i] = i ** 2 b[i] = i ** 3 c.append(a[i] + b[i]) return c pythonsum(3) # output [0, 2, 12]
Let’s do it now with NumPy:
import numpy def numpysum(n): a = numpy.arange(n) ** 2 b = numpy.arange(n) ** 3 c = a + b return c numpysum(3) # output array([ 0, 2, 12])
There you have it! With NumPy we don’t need a
for loop, we used the
arrange() function from NumPy that creates an array (with integers from 0 to n) for us, and it is faster.
The results are the same but Python outputs a Python list while the NumPy outputs a NumPy array.