Friday, September 30, 2022

Numpy tutorial

 Numpy tutorial

NumPy is the fundamental package for scientific computing in Python. It is a Python library that provides a multidimensional array object, various derived objects (such as masked arrays and matrices), and an assortment of routines for fast operations on arrays, including mathematical, logical, shape manipulation, sorting, selecting, I/O, discrete Fourier transforms basic linear algebra, basic statistical operations, random simulation and much more.

The following tutorial will help you to learn Numpy.

1. Create an array of 6 zeros

import numpy as np np.zeros(6)

 O/p:

array([0., 0., 0., 0., 0., 0.])


 2. Create an array of 6 ones

import numpy as np

np.ones(6)

O/p:

array([1., 1., 1., 1., 1., 1.])


 3. Create an array of 6 fives

import numpy as np np.ones(6)*5

O/p:

array([5., 5., 5., 5., 5., 5.])


4. Create an array of integers from 1 to 99

import numpy as npnp.arange(100)

O/p:

array([ 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99])


5. Create an array of all the odd integers ranging from 1 to 99

import numpy as npa = 100arr2 = []for i in range(a): if i %2 !=0: arr2.append(i)arr2 = np.array(arr2)

arr2

O/p:

array([ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99])


6. Create a 2X2 matrix filled with values from 1 to 4

import numpy as npx = np.arange(1, 5).reshape(2,2)

x

O/p:

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


 7. Create a 3X3 matrix filled with values from 9 to 17

import numpy as npx = np.arange(9, 18).reshape(3,3)

x

O/p:

array([[ 9, 10, 11], [12, 13, 14], [15, 16, 17]])


 8. Make an identity matrix of 4X4

import numpy as nparr6 = np.identity(4, dtype = int)

print(arr6)

O/p:

[[1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]]

 

9.With the help of NumPy generate a random nos in between 0 to 1

arr7 = np.random.randint(0, 1,5)

arr7

O/p:

array([0, 0, 0, 0, 0])


10. Create 10 points that are space linearly from each.

import numpy as npx1 = np.linspace(0, 4,10)

x1

O/p:

array([0. , 0.44444444, 0.88888889, 1.33333333, 1.77777778, 2.22222222, 2.66666667, 3.11111111, 3.55555556, 4. ])


11. Compare two 3d array and display the results in terms of true and false

import numpy as np

arr1 = np.random.randint(1, 8, size = (3, 5))

arr2 = np.random.randint(1, 9, size = (3, 5))

print('-----Two Dimensional Random Array----')

print('Values in arr1 = \n', arr1)

print('Values in arr2 = \n', arr2)

print('Result of arr1 == arr2 = \n', arr1 == arr2)

print('equal(arr1, arr2) = \n', np.equal(arr1, arr2))

print('Values in arr2 = \n', arr2)

print('Result of arr1 == arr2 = \n', arr1 == arr2)

print('equal(arr1, arr2) = \n', np.equal(arr1, arr2))

O/p: 






12. Create a null vector of size 20 where the 6th value should be 0

import numpy as nparr9 = np.arange(1,21)

print(arr9)arr9[6] = 0

print("After Updating the 6th position")

print(arr9)

O/p: 

[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]

After Updating the 6th position

[ 1 2 3 4 5 6 0 8 9 10 11 12 13 14 15 16 17 18 19 20]


13. Reverse an array of size 100 using numpy.

arr10 = np.arange(0,100)

arr10

arr10 = arr10[::-1]

arr10

O/p: 

array([99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0])


14. Find the minimum and maximum values of a 20X20 array using numpy.

import numpy as np

arr11 = np.arange(0,400)

arr11.reshape(20,20)

print(arr11)

print("\n")

print("The maximum value in 20*20 array: ",max(arr11))

print("\n")

print("The minimum value in 20*20 array: ",min(arr11))


15. Find the mean value of a randomly generated array of size 50

arr12 = np.random.randint(0,50,size= 50)

print(arr12)

print("\n")

print("Size of randomly generated array: ",len(arr12))

print("\n")

x = np.mean(arr12)

print("mean value of a randomly generated array of size 50: ",x)

[19 25 22 3 29 10 48 47 1 49 34 46 33 5 1 2 2 10 23 39 30 6 32 12 14 47 19 46 14 41 26 22 47 33 9 38 39 41 14 48 28 38 48 31 19 7 46 8 41 44]

Size of the randomly generated array: 50

mean value of a randomly generated array of size 50: 26.72

16. A 20 X20 array filled with zeros at all borders and all 1’s inside”-create such an array.

import numpy as nparr13 = np.zeros((20,20))

print("Original array:")

print("\n")

print(arr13)

print("\n")

print("A 20 X20 array filled with zeros at all borders and all 1’s inside")

print("\n")arr13[1:-1,1:-1] = 1

print(arr13)

Original array:



17. Create an array of size 10X10 with 10 element valued as nan

import numpy as np

arr13 = np.empty((10, 10 ))

arr13[:] = np.NaN

print(arr13)

O/p: 

[[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]

[nan nan nan nan nan nan nan nan nan nan]]

 

18. Create a 4X4 matrix and the values just below the diagonal is 9 8 7

import numpy as nparr14 = np.ones((4,4),dtype = int)

print("Before Updating the Diagonal Elements:")

print("\n",arr14)arr14 = np.diag([9,8,7],-1)

print("\nAfter Updating")

print("\n",arr14)

O/p: 

Before Updating the Diagonal Elements:

 [[1 1 1 1]

[1 1 1 1]

[1 1 1 1]

 [1 1 1 1]]

After Updating

 [[0 0 0 0]

[9 0 0 0]

[0 8 0 0]

[0 0 7 0]]


19. Create a checkboard pattern using numpy

chess_board = np.ones((8,8),dtype=int)

chess_board[1::2, ::2]= 0

chess_board[::2, 1::2] = 0

print(chess_board)

O/p: 

[[1 0 1 0 1 0 1 0]

[0 1 0 1 0 1 0 1]

[1 0 1 0 1 0 1 0]

 [0 1 0 1 0 1 0 1]

[1 0 1 0 1 0 1 0]

 [0 1 0 1 0 1 0 1]

[1 0 1 0 1 0 1 0]

[0 1 0 1 0 1 0 1]]

 

20. Print the dtype of int32 and float64 data type

arr2 = np.array([2,4,5,6,7,8,7,9,56], dtype = np.float64)

arr2.dtype

dtype('float64')

arr3 = np.array([2,4,5,6,7,8,7,9,56], dtype = np.int32)

arr3.dtype

dtype('int32')


21. An empty numpy array

arr = np.array([])

print(arr)

O/p:

 []


22. Numpy array filled with all zeros

arr2 = np.zeros(5, dtype = int)

print(arr2) 

O/p:

 [0 0 0 0 0]


 23. Check a Numpy array has a particular row

arr = np.random.randint(0, 20, (4, 5))

arr

O/p:

array([[15, 3, 13, 12, 16],

[ 7, 6, 6, 18, 2],

[ 4, 16, 17, 8, 8],

[ 0, 13, 8, 17, 6]])

[7,6,6,18,2] in arr.tolist()

O/p: 

True

[1,2,3,4,5] in arr.tolist()

O/p:

False


24. Delete elements (+ve) values from a NumPy array

arr3 = np.random.randint(-10, 10, 10)

arr3

O/p:

array([ 5, -2, 3, -9, -6, -5, 5, 7, -7, 0])

arr3 = arr3[arr3 < 0]

arr3 

O/p:

array([-2, -9, -6, -5, -7])


 25. How to find a particular sequence that has occurred in a Numpy Array

arr4 = np.random.randint(0, 40, 5)

arr4

O/p:

array([35, 22, 23, 7, 15])

repr(arr4).count("7")

1


26. Search a maximum no of element that is there in a numpy array

arr6 = np.random.randint(0, 20, 10)

print(arr6)

print(arr6.max())

print(arr6.argmax())

O/p:

 [ 6 14 13 6 11 6 9 14 13 17]

17

9


27. Is it possible to merge two 2 dimensional arrays (NumPy)?Do then.

arr1 = np.random.randint(0, 20, (4, 4))

arr2 = np.random.randint(0, 20, (4, 4))

arr1

 O/p:

array([[11, 12, 0, 16],

[10, 12, 19, 14],

[ 5, 13, 17, 11],

[10, 12, 4, 14]]) 

arr2

O/p:

array([[17, 4, 14, 0],

[ 0, 16, 15, 0],

[ 7, 0, 14, 10],

[ 5, 18, 2, 0]])

arr3 = np.concatenate((arr1, arr2))

arr3

O/p:

array([[11, 12, 0, 16],

[10, 12, 19, 14],

[ 5, 13, 17, 11],

[10, 12, 4, 14],

[17, 4, 14, 0],

[ 0, 16, 15, 0],

[ 7, 0, 14, 10],

[ 5, 18, 2, 0]])


28. Can you add a border to a NumPy array?Do then.

arr8 = np.ones((5,5))

arr8

 O/p:

array([[1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1.]])

arr8 = np.pad(arr, pad_width=1, constant_values=0)

arr8

O/p:

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., 0., 0., 0., 0., 0., 0.],

[0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.],

[0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.],

[0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.],

[0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.],

[0., 0., 0., 1., 1., 1., 1., 1., 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., 0., 0., 0., 0., 0., 0.]])

 

29. A comparison of two NumPy array

arr1 = np.random.randint(0, 20, (4, 4))

arr1

O/p:

array([[ 5, 2, 5, 4],

[14, 19, 17, 17],

[ 0, 5, 0, 2],

[19, 9, 13, 3]])

arr2 = np.random.randint(0, 20, (4, 4))

arr2

O/p:

array([[17, 0, 11, 5],

[ 1, 6, 15, 14],

[18, 11, 6, 8],

[ 9, 3, 1, 16]])

arr1 > arr2

O/p:

array([[False, True, False, False],

[ True, True, True, True],

[False, False, False, False],

[ True, True, True, False]])

 

30. Find the diagonal of 2D NumPy array

arr10 = np.random.randint(0, 20, (5, 5))

print(arr10)

print(arr10.diagonal())

 O/p:

 [[11 8 18 4 1]

[ 0 9 7 10 13]

[ 3 13 16 4 16]

[ 9 15 7 5 6]

[ 1 18 9 16 7]]

[11 9 16 5 7]









No comments:

Post a Comment

GRAPH ALGORITHMS : FLOYD-WARSHAL -Displaying DISTANCE MATRIX and PI MATRIX using C PROGRAM

Modify the following Floyd-Warshall algorithm by introducing a π( pi ) table as per the class’s discussion. Here you can write one function...