Numpy
NumPy Introductio
NumPy stands for ‘Numerical Python’. It is a package in Python to work with arrays. It is a basic scientific library. Its most important feature is the n-dimensional array object. It has uses in statistical functions, linear algebra, arithmetic operations, bitwise operations, etc.
We perform all the operations on the array elements. We can initialize these arrays in several ways.
Prerequisite to Learn NumPy
The two basic prerequisites for NumPy are Python and Mathematics. We need to know the python basics to work with the NumPy module.
The functions available in NumPy are built on python language. We can hence combine the knowledge of python arrays and list for array initialization and operations.
NumPy Installation
We can install Python NumPy by going to the command prompt and typing a simple command pip install NumPy. Then go to the IDE and use the import command import NumPy as np.
We can now access all the functionalities of the NumPy module.
Uses of NumPy
NumPy is one of the most useful external libraries available in Python. It has a wide variety of functions to work with arrays and a powerful multi-dimensional array object. It has operations that are applicable to a vast range of platforms.
Numpy can be put to use for storing, manipulation, and deletion of array elements. We can use it for sorting, indexing, and stacking of the array elements. It has modules regarding various operations:
Arithmetic operations
Statistical Operations
Bitwise Operators
Linear Algebra
Copying and viewing arrays
Stacking
Searching, Sorting, and counting, etc.
Mathematical Operations
Broadcasting
Matplotlib for graphical representations
Matrix Operations, etc.
NumPy vs. Python arrays
The NumPy library is a great alternative to python arrays. The difference is that the NumPy arrays are homogeneous that makes it easier to work with. We can initialize the array elements in many ways, one being which is through the python lists.
The NumPy arrays are convenient as they have the following three features–
Less Memory Requirement
Faster Processing
Convenience of use
Data types in NumPy
Numpy supports more data types as compared to Python. These data types are instances of dtype objects. Some of the scalar data types are given in the table below.
Sr.No. Data Types Description
1. bool_ Boolean True/False
2. int_ Integer type
3. intc Same as C int
4. intp An integer used for indexing
5. int8 Byte(-128 to 127)
6. int16 Integer(-32768 to 32767)
7. int32 Integer(-2147483648 to 2147483647)
8. int64 Integer (-9223372036854775808 to 9223372036854775807)
9. uint8 Unsigned integer(0 to 225)
10. unit16 Unsigned integer(0 to 65535)
11. unit32 Unsigned Integer(0 to 4294967295)
12. unit64 Unsigned Integer(0 to 18446744073709551615)
13. float_ Shorthand for float64
14. float16 Half precision float
15. float32 Single precision float
16. float64 Double precision float
17. complex_ Shorthand for comples128
18. complex64 Two 32bit float complex number
19. complex128 Two 64 bit float complex number
NumPy Operations
NumPy consists of a wide range of functions to work with arrays.
1. Numpy ndim
It is the function which determines the dimensions of the input array
import numpy as np
a = np.array([(1,1,1),(2,2,2)])
print(a.ndim)
Output
2
2. Numpy itemsize()
We use this function to determine the size of the array elements.
import numpy as np
a = np.array([(1,1)])
print(a.itemsize)
Output
8
3. Numpy dtype()
We use this function to determine the data type of the array elements.
import numpy as np
a = np.array([(1,1)])
print(a.dtype)
Output
int64
4. Numpy reshape()
We use this function to reassign the array a new shape.
import numpy as np
a = np.array([(1,1,1),(2,2,2)])
print(a)
a=a.reshape(3,2)
print(a)
Output
[[1 1 1]
[2 2 2]]
[[1 1]
[1 2]
[2 2]]
5. Numpy slicing()
It is for extracting a particular set of elements from the array.
import numpy as np
a=np.array([(1,1),(2,2),(3,3)])
print(a[0:2,1])
Output
[1 2]
6. Numpy linspace()
This is for array generation of evenly spread elements.
import numpy as np
a=np.linspace(1,5,10)
print(a)
Output
[1. 1.44444444 1.88888889 2.33333333 2.77777778 3.22222222
3.66666667 4.11111111 4.55555556 5. ]
7. Numpy min() / Numpy max()
We can find the minimum and maximum values from the array.
import numpy as np
arr= np.array([10,20,30])
print(arr.min())
print(arr.max())
Output
10
30
8. Numpy sum()
This is to return the sum of all the array elements
import numpy as np
arr= np.array([10,50,100])
print(arr.sum())
Output
160
9. Numpy sqrt()/ Numpy std()
We can determine the square root and standard deviation of the array elements.
import numpy as np
a=np.array([(1,2,3),(4,5,6)])
print(np.sqrt(a))
print(np.std(a))
Output
[[1. 1.41421356 1.73205081]
[2. 2.23606798 2.44948974]]
1.707825127659933
10. +,-,/, *
We can determine the sum, difference, division, and multiplication of the array elements with the use of these operators.
import numpy as np
x= np.array([(1,1,1),(2,2,2)])
y= np.array([(3,3,3),(4,4,4)])
print(x+y)
print(x-y)
print(x*y)
print(x/y)
Output
[[4 4 4]
[6 6 6]]
[[-2 -2 -2]
[-2 -2 -2]]
[[3 3 3]
[8 8 8]]
[[0.33333333 0.33333333 0.33333333]
[0.5 0.5 0.5 ]]
11. Numpy hstack/ Numpy vstack()
These are stacking functions, we can perform horizontal and vertical stacking of arrays.
import numpy as np
x= np.array([(1,1,1),(2,2,2)])
y= np.array([(3,3,3),(4,4,4)])
print(np.vstack((x,y)))
print(np.hstack((x,y)))
Output
[[1 1 1]
[2 2 2]
[3 3 3]
[4 4 4]]
[[1 1 1 3 3 3]
[2 2 2 4 4 4]]
12. Numpy ravel()
This function concerts the entire array into a single column.
import numpy as np
arr= np.array([(1,1,1),(2,2,2)])
print(arr.ravel())
Output
[1 1 1 2 2 2]
There are a few special functions available in NumPy. We can plot the sine, cos, and tan curves using the matplotlib module. It is an alternative to other plotting software like MatLab.
It is a great alternative when working with graphical representations.
import numpy as np
import matplotlib.pyplot as plt
arr1= np.arange(0,2*np.pi,0.5)
arr2=np.sin(arr1)
arr3=np.cos(arr1)
arr4=np.tan(arr1)
plt.plot(arr1,arr2)
plt.plot(arr1,arr3)
plt.plot(arr1,arr4)
plt.show()Nun