Thursday, 24 March 2016

Basics of Numpy library

Numpy is the library that provide powerful N-dimensional array object and useful linear algebra. 

n dimentional array = n rank

>>> import numpy as np

 
>>> a = np.array([[1,2,3,4],[5,6,7,8]])

>>> a.dtype  #datatype
dtype('int32') 

>>> a.shape  #2*4 array
(2, 4) 

>>> a.size  #2*4=8
8

>>> a.ndim  #rank
2

>>> a.itemsize  #size (bytes) of each element
4

>>> print (a[0,0],a[1,1])
(1, 6)

>>> b = np.zeros((2,3))
>>> b
array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])

>>> b=np.ones((2,1))
>>> b
array([[ 1.],
       [ 1.]])

>>> np.empty( (2,3) )   
array([[  0.00000000e+000,   4.70293910e-268,   4.70325177e-268],
       [  0.00000000e+000,  -9.78202667e-042,   2.04432588e-268]])
>>> np.empty( (2,3) )   
array([[  1.03007337e-268,   6.87367407e-316,   0.00000000e+000],
       [  4.30279633e-308,   6.34874355e-321,   4.93121130e-306]])

>>> np.eye(3)
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])

>>> np.random.random((1,2))
array([[ 0.22703097,  0.75265074]])
>>> np.random.random((1,2))
array([[ 0.47774304,  0.96365177]])

>>> a
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])>>> a[:2, 1:3]
array([[2, 3],
       [6, 7]])
>>> a
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> print a[[0, 1], [0, 1]] 
[1 4]

>>> a = np.array([[1,2,3], [4,5,6], [7,8,9], [10, 11, 12]])
>>> b = np.array([0, 2, 1])
>>> print a[np.arange(3), b] 
[1 6 8]
>>> print a[1, b] 
[4 6 5]

>>> a
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])
>>> (a>5)
array([[False, False, False],
       [False, False,  True],
       [ True,  True,  True],
       [ True,  True,  True]], dtype=bool)
>>> print a[a>5]
[ 6  7  8  9 10 11 12]

>>> v = np.array([1, 0, 2])
>>> vv = np.tile(v, (4, 2))  
>>> vv
array([[1, 0, 2, 1, 0, 2],
       [1, 0, 2, 1, 0, 2],
       [1, 0, 2, 1, 0, 2],
       [1, 0, 2, 1, 0, 2]])

>>> a
array([[3, 2, 1],
       [4, 5, 6],
       [0, 2, 1]])
>>> c
[1, 2, 3]
>>> a+c #np.add(a,c)
array([[4, 4, 4],
       [5, 7, 9],
       [1, 4, 4]])
>>> b=[[1,2,1],[2,0,1],[2,2,1]]
>>> a+b #np.add(a,b)
array([[4, 4, 2],
       [6, 5, 7],
       [2, 4, 2]])

>>> a
array([[3, 2, 1],
       [4, 5, 6],
       [0, 2, 1]])
>>> a.T
array([[3, 4, 0],
       [2, 5, 2],
       [1, 6, 1]])
#(transpose of a rank 1 array does nothing)

>>> x
array([[1, 1, 1],
       [2, 2, 2]])
>>> c
array([1, 2, 3])
>>> np.dot(x,c)
array([ 6, 12])


No comments:

Post a Comment