Class 5 NumPy
Class 5 NumPy
Python NumPy
NumPy
NumPy, which stands for Numerical Python, is an open-source Python library
consisting of multidimensional and single-dimensional array elements.
It's a standard that computes numerical data in Python.
NumPy is most widely used in almost every domain where numerical computation is
required, like science and engineering
Creating Arrays
NumPy arrays are more efficient than Python lists for numerical operations due to their fixed
size and homogeneous data type.
1D Array (Vector):
[1 2 3 4 5]
In [3]: list1=[1,2,3,4]
arr1=np.array(list1) # convert the list into array
print(arr1)
[1 2 3 4]
<class 'numpy.ndarray'>
<class 'numpy.ndarray'>
In [6]: type(arr1)
Out[6]: numpy.ndarray
In [7]: print(arr1*2)
[2 4 6 8]
(4,)
int32
In [11]: arr2=np.array([1,2,3,4],np.int64) #to change the data type and bit size
print(arr2.dtype)
int64
In [12]: arr3=np.array([1,2,3,4],np.float32)
print(arr3.dtype)
print(arr3)
float32
[1. 2. 3. 4.]
[0. 0. 0. 0. 0.]
In [14]: arr5=np.ones((5))
print(arr5)
[1. 1. 1. 1. 1.]
2D Array (Matrix):
In [16]: l1=[1,2,3]
l2=[4,5,6]
l3=[7,8,9]
arr6=np.array([l1,l2,l3])
print(arr6)
[[1 2 3]
[4 5 6]
[7 8 9]]
In [17]: type(arr6)
Out[17]: numpy.ndarray
(3, 3)
int32
In [21]: print(l1+l2)
[1, 2, 3, 4, 5, 6]
In [22]: np1=np.array(l1)
np2=np.array(l2)
print(np1+np2)
[5 7 9]
In [24]: a2=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a2)
[[1 2 3]
[4 5 6]
[7 8 9]]
In [25]: print(a2.shape)
print(a2.size)
(3, 3)
9
3D Array (Tensor):
In [27]: arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(arr3d)
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
In [28]: a3=np.array([[[1,2,3],[2,3,4]],[[4,5,6],[6,5,4]],[[7,8,5],[2,4,5]]])
print(a3)
[[[1 2 3]
[2 3 4]]
[[4 5 6]
[6 5 4]]
[[7 8 5]
[2 4 5]]]
In [30]: print(a3.shape)
print(a3.size)
(3, 2, 3)
18
In [33]: a
In [34]: s = slice(2,7,2)
In [35]: a[s]
In [36]: b = a[2:9:2]
In [37]: print(b)
[2 4 6 8]
In [38]: c = a[5]
print(c)
In [39]: print(a[2:])
[2 3 4 5 6 7 8 9]
In [40]: print(a[2:5])
[2 3 4]
In [41]: a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print(a)
[[1 2 3]
[3 4 5]
[4 5 6]]
In [43]: print(a[:])
[[1 2 3]
[3 4 5]
[4 5 6]]
In [44]: print(a[:4])
[[1 2 3]
[3 4 5]
[4 5 6]]
In [45]: print(a[4:])
[]
In [46]: print(a[1:4])
[[3 4 5]
[4 5 6]]
In [47]: print(a[2:])
[[4 5 6]]
In [51]: print(x)
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
In [52]: print(x[:,:])
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
In [53]: print(x[1:,:])
[[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
In [54]: print(x[1:3,:])
[[3 4 5]
[6 7 8]]
In [56]: print(x[:,1:3])
[[ 1 2]
[ 4 5]
[ 7 8]
[10 11]]
In [58]: print(x[1:3,1:])
[[4 5]
[7 8]]
In [59]: print(x[1:3,1:3])
[[4 5]
[7 8]]
In [61]: print(x[2:,1:2])
[[ 7]
[10]]
In [67]: a1=np.arange(32)
print(a1)
a1.ndim
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31]
Out[67]: 1
In [69]: a2=a1.reshape(8,4)
a2
In [70]: a2.ndim
Out[70]: 2
In [72]: a3 = a1.reshape(2,4,4)
a3
In [73]: a3.ndim
Out[73]: 3
[10 15 17 13 14]