Friday, 15 May 2020

Numpy Basics

#1 Dimensional Array

import numpy as np
n1 = np.array([1,2,3,4,5,6])
print(n1)
print(type(n1))

[1 2 3 4 5 6]
<class 'numpy.ndarray'>


#2 Dimensional Array

import numpy as np
n2 = np.array([[5,6,7,8,9,10],[50,51,52,53,54,55]])
print(n2)
print(type(n2))

[[ 5  6  7  8  9 10]
 [50 51 52 53 54 55]]
<class 'numpy.ndarray'>

#Initialize with Zeros - fill the array with zeros

import numpy as np
n3 = np.zeros(6)
print(n3)

[0. 0. 0. 0. 0. 0.]


import numpy as np
n4 = np.zeros((4,4))
print(n4)

[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]
 
 
import numpy as np
n5 = np.zeros((5,3,2))
print(n5)

[[[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. 0.]
  [0. 0.]]]
  
  
#Fill the array with a constant value

n5 = np.full((2,3),5)
print(n5)

[[5 5 5]
 [5 5 5]]
 
n6 = np.full((2,6),3)
print(n6)

[[3 3 3 3 3 3]
 [3 3 3 3 3 3]]
 
 
n7 = np.full((5),6)
print(n7)

[6 6 6 6 6]



#fill with a range (arange) 

n1 = np.arange(10,50,2.5)
print(n1)

[10 11 12 13 14 15 16 17 18 19]


n1 = np.arange(10,50,2.5)
print(n1)

[10.  12.5 15.  17.5 20.  22.5 25.  27.5 30.  32.5 35.  37.5 40.  42.5
 45.  47.5]
 
 
n1 = np.arange(10,50,7)
print(n1)

[10 17 24 31 38 45]


#fill with random integer values

n1 = np.random.randint(1,100,10)
print(n1)

[55 65 10 38 86 97 35 55 11 99]


n1 = np.random.randint(5,55,5)
print(n1)

[37 27 28 11 53]

#shape of the array

n1 = np.array([ [1,2,3],[4,3,2]  ])
print(n1)

(2,3)


n1 = np.array([ [1,2,3],[4,3,2] ,[53,2,3] ])
print(n1.shape)

(3, 3)



#stacking examples - vstack, hstack,column_stack
#vstack
n1 = np.array([2,6,3])
n2 = np.array([6,3,8])
np.vstack((n1,n2))

array([[2, 6, 3],
       [6, 3, 8]])
   
n1 = np.array([2,6,3])
n2 = np.array([6,3,8])
n3 = np.array([10,20,33])
np.vstack((n1,n2,n3))

array([[ 2,  6,  3],
       [ 6,  3,  8],
       [10, 20, 33]])


#hstack

n1 = np.array([2,6,3])
n2 = np.array([6,3,8])
np.hstack((n1,n2))

array([2, 6, 3, 6, 3, 8])



n1 = np.array([2,6,3])
n2 = np.array([6,3,8])
n3 = np.array([10,20,33])
np.vstack((n1,n2,n3))

array([[ 2,  6,  3],
       [ 6,  3,  8],
       [10, 20, 33]])
   
#column_stack

n1 = np.array([2,6,3])
n2 = np.array([6,3,8])
np.column_stack((n1,n2))

array([[2, 6],
       [6, 3],
       [3, 8]])
   
n1 = np.array([2,6,3])
n2 = np.array([6,3,8])
n3 = np.array([10,20,33])
np.column_stack((n1,n2,n3))


array([[ 2,  6, 10],
       [ 6,  3, 20],
       [ 3,  8, 33]])
   


n1 = np.array([2,6,3])
n2 = np.array([6,3,8])
n3 = np.array([10,20,33])
n4 = np.array([55,33,66])
np.column_stack((n1,n2,n3,n4))


array([[ 2,  6, 10, 55],
       [ 6,  3, 20, 33],
       [ 3,  8, 33, 66]])
   
   
#intersection

import numpy as np
n1  = np.array([1,2,3,4,5,6])
n2 = np.array([5,6,7,8,9])
np.intersect1d(n1,n2)

array([5, 6])


import numpy as np
n1  = np.array([1,2,3,4,5,6])
n2 = np.array([5,6,7,8,9])
np.intersect1d(n2,n1)

array([5, 6])

#difference

import numpy as np
n1  = np.array([1,2,3,4,5,6])
n2 = np.array([5,6,7,8,9])
np.setdiff1d(n1,n2)


array([1, 2, 3, 4])



import numpy as np
n1  = np.array([1,2,3,4,5,6])
n2 = np.array([5,6,7,8,9])
np.setdiff1d(n2,n1)

array([7, 8, 9])


import numpy as np
n1  = np.array([1,2,3,4,5,6])
n2 = np.array([1,2,3,4,5,6])
np.setdiff1d(n1,n2)

array([], dtype=int32)



#Sum
import numpy as np
n1  = np.array([10,20,30])
n2 = np.array([40,50,60])
np.sum([n1,n2])

210

np.sum([n1,n2],axis=0) #axis 0 : x axis - horizontal

array([50, 70, 90])


np.sum([n1,n2],axis=1) #axis 1 : y axis - vertical

array([ 60, 150])



import numpy as np
n1 = np.array([1,2,3,4,5,6])
n2 = np.array([7,8,9,10,11,12])
n3 = np.array([10,20,30,40,50,60])
n4 = np.array([100,200,300,400,500,600])
np.sum([n1,n2,n3,n4])

2388


np.sum([n1,n2,n3,n4],axis=0)

array([118, 230, 342, 454, 566, 678])


np.sum([n1,n2,n3,n4],axis=1)

array([  21,   57,  210, 2100])


Numpy Array Mathemetics
#Addition

import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 + 1
print(n1)

[56 34 45 67 23 12 78]


import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 + 10
print(n1)

[65 43 54 76 32 21 87]


import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 - 1
print(n1)

[54 32 43 65 21 10 76]



import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 - 10
print(n1)

[45 23 34 56 12  1 67]



import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 * 5
print(n1)

[275 165 220 330 110  55 385]



import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 * 55
print(n1)

[3025 1815 2420 3630 1210  605 4235]



import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 / 2.0
print(n1)


[27.5 16.5 22.  33.  11.   5.5 38.5]



import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 / 5
print(n1)

[11.   6.6  8.8 13.2  4.4  2.2 15.4]



import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 ** 3
print(n1)


[166375  35937  85184 287496  10648   1331 456533]



import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
n1 = n1 / (3 * 3)
print(n1)

[6.11111111 3.66666667 4.88888889 7.33333333 2.44444444 1.22222222 8.55555556]


#statistics functions
import numpy as np
n1 = np.array([55,33,44,66,22,11,77])
np.mean(n1)
np.sum(n1) / len(n1)  # mean is nothing but average

44.0

#middle element 
import numpy as np
n1 = np.array([11,77,33,44,66,22])
np.median(n1)

38.5

#standard deviation
import numpy as np
n1 = np.array([11,77,33,44,66,22])
np.std(n1)

23.262392157490787




#saving and Loading

import numpy as np
n1 = np.array([1,2,3,5,4,6,7,9,8,10,22])
np.save('result',n1)  #saving
 
n2 = np.load('result.npy') #loading

print(n2*10)

[ 10  20  30  50  40  60  70  90  80 100 220]
   

No comments:

Post a Comment

Flume - Simple Demo

// create a folder in hdfs : $ hdfs dfs -mkdir /user/flumeExa // Create a shell script which generates : Hadoop in real world <n>...