Basics of numpy -- Mathmatical calculation -- 2 - MyPythonGuru

Jobs Search Portal and Learning point for Python,Data Science,AI,ML, Cloud and latest technologies.

Follow us on Facebook

Post Top Ad

Your Ad Spot

Sunday, September 8, 2019

Basics of numpy -- Mathmatical calculation -- 2


Initialization:

Ex1. import numpy as np
a = np.zeros((3,3,3))
a
OutPut:
array([[[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]], [[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]], [[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]])


Ex 2: 

np.ones((2,2,4), dtype=int)

Output:
array([[[1, 1, 1, 1], [1, 1, 1, 1]], 
          [[1, 1, 1, 1], [1, 1, 1, 1]]])
Ex3:

np.full((2,2),"hellottwyyw", dtype='<U7')



Out[12]:
array([['hellott', 'hellott'], ['hellott', 'hellott']], dtype='<U7')

In [13]:





np.random.rand(10)



Out[13]:
array([0.12520064, 0.07562049, 0.12900815, 0.55747886, 0.11532656, 0.53774122, 0.06926235, 0.29796341, 0.09515193, 0.05531125])

In [4]:





data = np.random.randint(5,10,(10,10))






Access of NumPy
In [5]:





data[4:8]



Out[5]:
array([[6, 8, 7, 5, 7, 6, 8, 9, 7, 5], [6, 6, 7, 6, 8, 8, 7, 9, 7, 8], [9, 6, 5, 7, 8, 9, 8, 9, 5, 5], [6, 7, 7, 7, 7, 6, 5, 5, 8, 8]])

In [22]:





data[4:8,4:6]



Out[22]:
array([[5, 6], [7, 8], [5, 9], [8, 9]])

In [28]:





data[4:6,4:6]



Out[28]:
array([[5, 6], [7, 8]])



Combine Data
In [29]:





data1 = np.random.randint(5,15,size=(5,3))




In [31]:





data2 = np.random.randint(5,15,size=(5,3))




In [32]:





np.hstack([data1,data2])



Out[32]:
array([[ 8, 10, 14, 6, 13, 6], [ 6, 10, 14, 10, 14, 13], [12, 5, 13, 5, 8, 13], [ 5, 14, 10, 12, 9, 6], [ 9, 7, 14, 13, 9, 8]])

In [33]:





np.vstack([data1, data2])



Out[33]:
array([[ 8, 10, 14], [ 6, 10, 14], [12, 5, 13], [ 5, 14, 10], [ 9, 7, 14], [ 6, 13, 6], [10, 14, 13], [ 5, 8, 13], [12, 9, 6], [13, 9, 8]])

In [34]:





np.concatenate([data1, data2], axis=1)



Out[34]:
array([[ 8, 10, 14, 6, 13, 6], [ 6, 10, 14, 10, 14, 13], [12, 5, 13, 5, 8, 13], [ 5, 14, 10, 12, 9, 6], [ 9, 7, 14, 13, 9, 8]])

In [35]:





data1 = np.random.randint(5,15,size=(5,3,2))




In [38]:





data2 = np.random.randint(5,15,size=(5,3,2))




In [41]:





np.concatenate([data1, data2], axis=2)



Out[41]:
array([[[ 5, 14, 14, 14], [ 8, 9, 10, 8], [12, 9, 14, 5]], [[ 6, 11, 6, 12], [ 9, 6, 5, 10], [10, 6, 9, 8]], [[11, 13, 8, 5], [13, 14, 12, 6], [ 7, 9, 14, 6]], [[13, 9, 5, 11], [ 5, 10, 5, 7], [ 6, 5, 14, 6]], [[ 5, 14, 11, 8], [ 5, 5, 6, 9], [ 7, 11, 11, 11]]])



Splitting Data
In [44]:





a1,a2 = np.hsplit(data,[5])




In [45]:





a1



Out[45]:
array([[9, 6, 5, 7, 9], [8, 9, 9, 6, 9], [9, 9, 8, 6, 7], [5, 5, 5, 6, 5], [6, 6, 7, 7, 5], [8, 5, 9, 5, 7], [7, 7, 6, 6, 5], [5, 6, 9, 6, 8], [6, 9, 6, 6, 7], [5, 7, 5, 5, 6]])

In [47]:





b1,b2,b3 = np.vsplit(data,[5,7])




In [48]:





b1



Out[48]:
array([[9, 6, 5, 7, 9, 6, 5, 5, 5, 6], [8, 9, 9, 6, 9, 7, 5, 6, 7, 8], [9, 9, 8, 6, 7, 7, 6, 6, 9, 5], [5, 5, 5, 6, 5, 9, 9, 9, 8, 9], [6, 6, 7, 7, 5, 6, 9, 9, 8, 7]])

In [49]:





b2



Out[49]:
array([[8, 5, 9, 5, 7, 8, 5, 9, 6, 8], [7, 7, 6, 6, 5, 9, 6, 6, 5, 9]])

In [50]:





b3



Out[50]:
array([[5, 6, 9, 6, 8, 9, 9, 6, 9, 8], [6, 9, 6, 6, 7, 7, 5, 8, 5, 8], [5, 7, 5, 5, 6, 5, 6, 6, 5, 6]])



Shape, Dimension
In [52]:





data.shape



Out[52]:
(10, 10)

In [53]:





data.ndim



Out[53]:
2

In [54]:





data.size



Out[54]:
100

In [56]:





data.reshape(2,50)



Out[56]:
array([[9, 6, 5, 7, 9, 6, 5, 5, 5, 6, 8, 9, 9, 6, 9, 7, 5, 6, 7, 8, 9, 9, 8, 6, 7, 7, 6, 6, 9, 5, 5, 5, 5, 6, 5, 9, 9, 9, 8, 9, 6, 6, 7, 7, 5, 6, 9, 9, 8, 7], [8, 5, 9, 5, 7, 8, 5, 9, 6, 8, 7, 7, 6, 6, 5, 9, 6, 6, 5, 9, 5, 6, 9, 6, 8, 9, 9, 6, 9, 8, 6, 9, 6, 6, 7, 7, 5, 8, 5, 8, 5, 7, 5, 5, 6, 5, 6, 6, 5, 6]])

In [57]:





d = np.array([1,2,3,4,5,6,7,9])




In [59]:





d.ndim



Out[59]:
1

In [60]:





d.shape



Out[60]:
(8,)

In [61]:





d.size



Out[61]:
8

In [62]:





d.reshape(8,1)



Out[62]:
array([[1], [2], [3], [4], [5], [6], [7], [9]])

In [65]:





data.reshape(-1,20)



Out[65]:
array([[9, 6, 5, 7, 9, 6, 5, 5, 5, 6, 8, 9, 9, 6, 9, 7, 5, 6, 7, 8], [9, 9, 8, 6, 7, 7, 6, 6, 9, 5, 5, 5, 5, 6, 5, 9, 9, 9, 8, 9], [6, 6, 7, 7, 5, 6, 9, 9, 8, 7, 8, 5, 9, 5, 7, 8, 5, 9, 6, 8], [7, 7, 6, 6, 5, 9, 6, 6, 5, 9, 5, 6, 9, 6, 8, 9, 9, 6, 9, 8], [6, 9, 6, 6, 7, 7, 5, 8, 5, 8, 5, 7, 5, 5, 6, 5, 6, 6, 5, 6]])



Utility Function
In [68]:





np.sum(data)



Out[68]:
683

In [72]:





np.sum(data, axis=1)



Out[72]:
array([63, 74, 72, 70, 70, 70, 66, 75, 67, 56])

In [71]:





data



Out[71]:
array([[9, 6, 5, 7, 9, 6, 5, 5, 5, 6], [8, 9, 9, 6, 9, 7, 5, 6, 7, 8], [9, 9, 8, 6, 7, 7, 6, 6, 9, 5], [5, 5, 5, 6, 5, 9, 9, 9, 8, 9], [6, 6, 7, 7, 5, 6, 9, 9, 8, 7], [8, 5, 9, 5, 7, 8, 5, 9, 6, 8], [7, 7, 6, 6, 5, 9, 6, 6, 5, 9], [5, 6, 9, 6, 8, 9, 9, 6, 9, 8], [6, 9, 6, 6, 7, 7, 5, 8, 5, 8], [5, 7, 5, 5, 6, 5, 6, 6, 5, 6]])

In [73]:





np.sin(data)



Out[73]:
array([[ 0.41211849, -0.2794155 , -0.95892427, 0.6569866 , 0.41211849, -0.2794155 , -0.95892427, -0.95892427, -0.95892427, -0.2794155 ], [ 0.98935825, 0.41211849, 0.41211849, -0.2794155 , 0.41211849, 0.6569866 , -0.95892427, -0.2794155 , 0.6569866 , 0.98935825], [ 0.41211849, 0.41211849, 0.98935825, -0.2794155 , 0.6569866 , 0.6569866 , -0.2794155 , -0.2794155 , 0.41211849, -0.95892427], [-0.95892427, -0.95892427, -0.95892427, -0.2794155 , -0.95892427, 0.41211849, 0.41211849, 0.41211849, 0.98935825, 0.41211849], [-0.2794155 , -0.2794155 , 0.6569866 , 0.6569866 , -0.95892427, -0.2794155 , 0.41211849, 0.41211849, 0.98935825, 0.6569866 ], [ 0.98935825, -0.95892427, 0.41211849, -0.95892427, 0.6569866 , 0.98935825, -0.95892427, 0.41211849, -0.2794155 , 0.98935825], [ 0.6569866 , 0.6569866 , -0.2794155 , -0.2794155 , -0.95892427, 0.41211849, -0.2794155 , -0.2794155 , -0.95892427, 0.41211849], [-0.95892427, -0.2794155 , 0.41211849, -0.2794155 , 0.98935825, 0.41211849, 0.41211849, -0.2794155 , 0.41211849, 0.98935825], [-0.2794155 , 0.41211849, -0.2794155 , -0.2794155 , 0.6569866 , 0.6569866 , -0.95892427, 0.98935825, -0.95892427, 0.98935825], [-0.95892427, 0.6569866 , -0.95892427, -0.95892427, -0.2794155 , -0.95892427, -0.2794155 , -0.2794155 , -0.95892427, -0.2794155 ]])

In [75]:





data.T



Out[75]:
array([[9, 8, 9, 5, 6, 8, 7, 5, 6, 5], [6, 9, 9, 5, 6, 5, 7, 6, 9, 7], [5, 9, 8, 5, 7, 9, 6, 9, 6, 5], [7, 6, 6, 6, 7, 5, 6, 6, 6, 5], [9, 9, 7, 5, 5, 7, 5, 8, 7, 6], [6, 7, 7, 9, 6, 8, 9, 9, 7, 5], [5, 5, 6, 9, 9, 5, 6, 9, 5, 6], [5, 6, 6, 9, 9, 9, 6, 6, 8, 6], [5, 7, 9, 8, 8, 6, 5, 9, 5, 5], [6, 8, 5, 9, 7, 8, 9, 8, 8, 6]])

In [76]:





data.mean(axis=1)



Out[76]:
array([6.3, 7.4, 7.2, 7. , 7. , 7. , 6.6, 7.5, 6.7, 5.6])

In [77]:





data.std(axis=1)



Out[77]:
array([1.48660687, 1.356466 , 1.4 , 1.84390889, 1.26491106, 1.54919334, 1.356466 , 1.5 , 1.26885775, 0.66332496])



Broadcasting
In [78]:





v = np.array([1,2,3,4,5])




In [79]:





s = 10




In [80]:





v + s



Out[80]:
array([11, 12, 13, 14, 15])

In [82]:





t = [10,11]




In [84]:





#v + t




In [85]:





a = np.array([[1],[2],[3],[4],[5]])




In [86]:





a.shape



Out[86]:
(5, 1)

In [87]:





a + v



Out[87]:
array([[ 2, 3, 4, 5, 6], [ 3, 4, 5, 6, 7], [ 4, 5, 6, 7, 8], [ 5, 6, 7, 8, 9], [ 6, 7, 8, 9, 10]])

In [88]:





a = np.random.randint(1,5,size=(10,2))




In [89]:





b = np.random.randint(1,5,size=(5,2))




In [94]:





a.reshape(1,10,2)



Out[94]:
array([[[3, 2], [4, 2], [3, 4], [3, 3], [3, 1], [1, 3], [2, 2], [1, 1], [4, 3], [2, 2]]])

In [95]:





b.reshape(5,1,2) - a.reshape(1,10,2)



Out[95]:
array([[[-1, 2], [-2, 2], [-1, 0], [-1, 1], [-1, 3], [ 1, 1], [ 0, 2], [ 1, 3], [-2, 1], [ 0, 2]], [[-2, 2], [-3, 2], [-2, 0], [-2, 1], [-2, 3], [ 0, 1], [-1, 2], [ 0, 3], [-3, 1], [-1, 2]], [[-1, 2], [-2, 2], [-1, 0], [-1, 1], [-1, 3], [ 1, 1], [ 0, 2], [ 1, 3], [-2, 1], [ 0, 2]], [[ 1, 0], [ 0, 0], [ 1, -2], [ 1, -1], [ 1, 1], [ 3, -1], [ 2, 0], [ 3, 1], [ 0, -1], [ 2, 0]], [[ 0, 2], [-1, 2], [ 0, 0], [ 0, 1], [ 0, 3], [ 2, 1], [ 1, 2], [ 2, 3], [-1, 1], [ 1, 2]]])

In [96]:





a = np.random.randint(1,5,size=(10,2))
b = np.random.randint(1,5,size=(5,3))




In [97]:





a.shape



Out[97]:
(10, 2)

In [98]:





b.shape



Out[98]:
(5, 3)

In [99]:





a.reshape(1,10,1,2) - b.reshape(5,1,3,1)



Out[99]:
array([[[[-3, -1], [ 0, 2], [-1, 1]], [[-2, 0], [ 1, 3], [ 0, 2]], [[ 0, -2], [ 3, 1], [ 2, 0]], [[ 0, 0], [ 3, 3], [ 2, 2]], [[-1, -3], [ 2, 0], [ 1, -1]], [[-2, -2], [ 1, 1], [ 0, 0]], [[ 0, 0], [ 3, 3], [ 2, 2]], [[-3, 0], [ 0, 3], [-1, 2]], [[-1, -3], [ 2, 0], [ 1, -1]], [[-2, -3], [ 1, 0], [ 0, -1]]], [[[ 0, 2], [-2, 0], [ 0, 2]], [[ 1, 3], [-1, 1], [ 1, 3]], [[ 3, 1], [ 1, -1], [ 3, 1]], [[ 3, 3], [ 1, 1], [ 3, 3]], [[ 2, 0], [ 0, -2], [ 2, 0]], [[ 1, 1], [-1, -1], [ 1, 1]], [[ 3, 3], [ 1, 1], [ 3, 3]], [[ 0, 3], [-2, 1], [ 0, 3]], [[ 2, 0], [ 0, -2], [ 2, 0]], [[ 1, 0], [-1, -2], [ 1, 0]]], [[[-3, -1], [-2, 0], [-2, 0]], [[-2, 0], [-1, 1], [-1, 1]], [[ 0, -2], [ 1, -1], [ 1, -1]], [[ 0, 0], [ 1, 1], [ 1, 1]], [[-1, -3], [ 0, -2], [ 0, -2]], [[-2, -2], [-1, -1], [-1, -1]], [[ 0, 0], [ 1, 1], [ 1, 1]], [[-3, 0], [-2, 1], [-2, 1]], [[-1, -3], [ 0, -2], [ 0, -2]], [[-2, -3], [-1, -2], [-1, -2]]], [[[-1, 1], [ 0, 2], [ 0, 2]], [[ 0, 2], [ 1, 3], [ 1, 3]], [[ 2, 0], [ 3, 1], [ 3, 1]], [[ 2, 2], [ 3, 3], [ 3, 3]], [[ 1, -1], [ 2, 0], [ 2, 0]], [[ 0, 0], [ 1, 1], [ 1, 1]], [[ 2, 2], [ 3, 3], [ 3, 3]], [[-1, 2], [ 0, 3], [ 0, 3]], [[ 1, -1], [ 2, 0], [ 2, 0]], [[ 0, -1], [ 1, 0], [ 1, 0]]], [[[-1, 1], [ 0, 2], [ 0, 2]], [[ 0, 2], [ 1, 3], [ 1, 3]], [[ 2, 0], [ 3, 1], [ 3, 1]], [[ 2, 2], [ 3, 3], [ 3, 3]], [[ 1, -1], [ 2, 0], [ 2, 0]], [[ 0, 0], [ 1, 1], [ 1, 1]], [[ 2, 2], [ 3, 3], [ 3, 3]], [[-1, 2], [ 0, 3], [ 0, 3]], [[ 1, -1], [ 2, 0], [ 2, 0]], [[ 0, -1], [ 1, 0], [ 1, 0]]]])

In [ ]:






No comments:

Post Top Ad

Your Ad Spot