Thursday, 11 June 2020

Python : NumPy



l = [1,2,3,4]
print(l)
print(type(l))
[1, 2, 3, 4]
<class 'list'>
. . .
 import numpy as np
a= np.array([12929,505,118292,161912])
print(a)
print(type(a))
a.shape
[ 12929    505 118292 161912]
<class 'numpy.ndarray'>

Out[10]: (4,)
. . .

a.dtype
Out[8]: dtype('int32')
. . .

np.array(range(5))
Out[11]: array([0, 1, 2, 3, 4])
. . .

np.array(range(5),dtype=float)
Out[12]: array([0., 1., 2., 3., 4.])

. . .
 a = np.empty(4)  # 1 parenthesis in case of 1 dimensional array
print (a.dtype)
print(a)
float64
[1. 2. 3. 4.]
. . .

a = np.empty((3,4)) # 2 parenthesis in case of multi dimensional array
print (a.dtype)
print(a)
float64
[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]
. . .

a=np.array(['ab','cd','ef'])
a.dtype
Out[13]:
dtype('<U2')

. . .
 a = np.zeros((3,5), dtype='int32')
print(a)
[[0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]]
. . .

a = np.zeros((3,5), dtype='float64')
print(a)
[[0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]]
. . .

a = np.arange(1,30,5)
print(a)
[ 1  6 11 16 21 26]

. . .
 a.reshape(2,3)
Out[30]:
array([[ 1,  6, 11],
       [16, 21, 26]])
. . .

for x in a.ravel():
    print (x)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
. . .

a = np.arange(24).reshape(3,8)
print(a)
[[ 0  1  2  3  4  5  6  7]
 [ 8  9 10 11 12 13 14 15]
 [16 17 18 19 20 21 22 23]]

. . .
 print("---------------1---------------------")
print(a[:,:]) # All values [3x8]
print("---------------2---------------------")
print(a[0,5]) # 1st row 6th column  single value
print("---------------3---------------------")
print(a[0,:5]) # 1st row upto 5 columns [1x5]
print("---------------4---------------------")
print(a[:,5]) # All rows 6th column
print("---------------5---------------------")
print(a[:,-1]) # All rows last column
print("--------------6----------------------")
print(a[:,-2]) # All rows 2nd last column
print("---------------7---------------------")
print(a[1,:]) # 2nd entire row with all columns
print("--------------8----------------------")
print(a[:,:-2]) # All rows and columns upto 2nd last column
print("-------------9-----------------------")
print(a[:,:-1]) # All rows and columns upto last but one column
print("-----------------10-------------------")
print(a[:,::-1]) # Reverse the array
print("------------------11------------------")
print(a[:,::-2]) # Reverse the array with 1 alternate columns
print("-------------------12-----------------")
print(a[:,::-3]) # Reverse the array with 2 alternate columns
---------------1---------------------
[[ 0  1  2  3  4  5  6  7]
 [ 8  9 10 11 12 13 14 15]
 [16 17 18 19 20 21 22 23]]
---------------2---------------------
5
---------------3---------------------
[0 1 2 3 4]
---------------4---------------------
[ 5 13 21]
---------------5---------------------
[ 7 15 23]
--------------6----------------------
[ 6 14 22]
---------------7---------------------
[ 8  9 10 11 12 13 14 15]
--------------8----------------------
[[ 0  1  2  3  4  5]
 [ 8  9 10 11 12 13]
 [16 17 18 19 20 21]]
-------------9-----------------------
[[ 0  1  2  3  4  5  6]
 [ 8  9 10 11 12 13 14]
 [16 17 18 19 20 21 22]]
-----------------10-------------------
[[ 7  6  5  4  3  2  1  0]
 [15 14 13 12 11 10  9  8]
 [23 22 21 20 19 18 17 16]]
------------------11------------------
[[ 7  5  3  1]
 [15 13 11  9]
 [23 21 19 17]]
-------------------12-----------------
[[ 7  4  1]
 [15 12  9]
 [23 20 17]]. . .

print(a)
print(a*2)
[[ 0  1  2  3  4  5  6  7]
 [ 8  9 10 11 12 13 14 15]
 [16 17 18 19 20 21 22 23]]
[[ 0  2  4  6  8 10 12 14]
 [16 18 20 22 24 26 28 30]
 [32 34 36 38 40 42 44 46]]. . .


a = np.arange(1,10).reshape(3,3)
b = np.arange(10,19).reshape(3,3)
print(a)
print(b)
[[1 2 3]
 [4 5 6]
 [7 8 9]]
[[10 11 12]
 [13 14 15]
 [16 17 18]]
. . .

a[1][1]=50 # assign a new value at particular position using [][]
a[2,2]=90  # assign a new value at particular position using[,]
print(a)
[[ 1  2  3]
 [ 4 50  6]
 [ 7  8 90]]
. . .

c=a+b # Addition of 2 arrays
print(c)
[[ 11  13  15]
 [ 17  64  21]
 [ 23  25 108]]
. . .

print("---------------a-----------")
print(a)
print("---------------b-----------")
print(b)
np.hstack((a,b)) # Horizontal stack
---------------a-----------
[[1 2 3]
 [4 5 6]
 [7 8 9]]
---------------b-----------
[[10 11 12]
 [13 14 15]
 [16 17 18]]

Out[86]:

array([[ 1,  2,  3, 10, 11, 12],
       [ 4,  5,  6, 13, 14, 15],
       [ 7,  8,  9, 16, 17, 18]])
. . .

print("---------------a-----------")
print(a)
print("---------------b-----------")
print(b)
np.vstack((a,b))  # Vertical stack
---------------a-----------
[[1 2 3]
 [4 5 6]
 [7 8 9]]

---------------b-----------
[[10 11 12]
 [13 14 15]
 [16 17 18]]

Out[87]:
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12],
       [13, 14, 15],
       [16, 17, 18]])
. . .

print("---------------one way-----------")
print(a.transpose())
print("---------------other way-----------")
print(a.T)  # T for transpose
---------------one way-----------
[[ 1  4  7]
 [ 2 50  8]
 [ 3  6 90]]
---------------other way-----------
[[ 1  4  7]
 [ 2 50  8]
 [ 3  6 90]]
. . .

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


No comments: