**What is Numpy?**

Numpy is a module that is available in python for scientific analysis projects. It also provides a high-performance multidimension array object, and tools for working with these arrays.

#To check which version of Numpy you are using:`import numpy`

`numpy.version.version`

#This code will print a single dimensional array. import numpy as np a = np.array([1,2,3]) print(a)

#This will print a multidimensional array import numpy as np a = np.array([ [1,2,3], [4,5,6] ]) print(a)

**Why is Numpy better than list?**

We use Numpy because it uses less memory, it is fast, and it can be executed in less steps than list.

For example to show that numpy uses less memory…

import numpy as np import time import sys #takes integer values from 0 to 1000 and store in variable s s = range(1000) print(sys.getsizeof(s)*len(s)) #arrange function is similar to the range d = np.arange(1000) #get the size of the numpy array print(d.size*d.itemsize)

You will see that the numpy array has a size of 4000 versus 14000 in the standard list

Another example to show the time it takes less time and can be executed in less steps compared to the list.

import numpy as np import time import sys SIZE = 1000000 #define two lists. L1 = range(SIZE) L2 = range(SIZE) #define two numpy arrays A1 = np.arange(SIZE) A2 = np.arange(SIZE) #this will calculate the sum in lists start = time.time() result = [(x,y) for x,y in zip(L1,L2)] print((time.time() - start) * 1000) #for numpy all you need to do is add the two array variables together to sum lists start = time.time() result = A1 + A2 print((time.time() - start) * 1000)

The result is that the list took more time than the numpy array.

So, you can find the number of dimensions in the array, the number of bytes in the array, and the variable type in the array. Additionally you can also find the size of the array and shape of the array which is the number of columns and number of rows

import numpy as np a = np.array([[1,2,3], [2,3,4]]) #prints the number of dimensions in the array print(a.ndim) #prints the number of bytes in the array print(a.itemsize) #prints the data type in the array print(a.dtype) #prints the size of the array print(a.size) #prints the shape of the array print(a.shape)

Some examples of mathematical operations

import numpy as np #create numpy array a = np.array([[1,2,3,4]]) #find max value print(a.max()) #find min value print(a.min()) #find median value print(np.median(a)) #print sum print(a.sum())

Some more advanced mathematics

import numpy as np a = np.array([[1,2,3,4]]) #find square root of each element in array print(np.sqrt(a)) #find standard devaiation of each element in the array #the standard deviation is the variation from the mean of the array print(np.std(a))

Also, some matrix mathematics

import numpy as np a = np.array([[1,2,3],[3,4,5]]) b = np.array([[1,2,3],[3,4,5]]) #matrix addition print(a+b) #matrix subtraction print(a-b) #matrix multiplication print(a*b) #matrix division print(a/b)

**This article is written for Python 3.6