Numeric Python

list  - collection of different type of elements
array - collection of similar type of elements

!pip install numpy

Requirement already satisfied: numpy in c:\\\\users\\\\himan\\\\anaconda3\\\\lib\\\\site-packages (1.21.5)

1 - Creating a Vector

import numpy as np

# help(np.array)
np.array?

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

v

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

print(v)

[1 2 3 4]

print(type(v))

<class 'numpy.ndarray'>

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

v

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

2 - Matrix

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

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

print(matrix)

[[1 2 3]
 [4 5 6]
 [7 8 9]]

0th dimension --->   .
1st dimension --->   .______.
2nd dimension --->   .___|___.
3rd dimension --->   .___|___.
                        /
4th dimension ?
.
.
.
n dimension

3 - Selecting Elements

#                   -5 -4 -3 -2 -1
v = np.array([11,12,13,14,15,16,17])
#             0   1  2  3 4  5  6
print(v[0])

11

v[:]  # v[start : end]

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

v[3:6]

array([14, 15, 16])

v[1:3]

array([12, 13])

v[-1]

17

#                   -5 -4 -3 -2 -1
v = np.array([11,12,13,14,15,16,17])
#             0   1  2  3 4  5  6

print(v[-4:-1])

[14 15 16]

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

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

matrix[0,0]   # matrix[rows , columns]

1

matrix[1,1]

5

matrix[2,1]

8

print(matrix)

[[1 2 3]
 [4 5 6]
 [7 8 9]]

matrix[:,1:2]

array([[2],
       [5],
       [8]])

matrix[:,2:3]

array([[3],
       [6],
       [9]])

print(matrix)

[[1 2 3]
 [4 5 6]
 [7 8 9]]

matrix[0:3, 0:3]

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

matrix[-3:-1, -3:-2]

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

4 - Describe a Matrix

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

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9],
       [1, 2, 3]])

matrix.shape

(4, 3)

matrix.size

12

matrix.ndim

2

5 - Max and Min Values

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

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

print(np.max(matrix))

9

print(np.min(matrix))

1

print(np.max(matrix, axis = 0)) # column

[7 8 9]

print(np.max(matrix, axis = 1)) # rows

[3 6 9]

np.max(matrix, axis = 1)[0]

3

6 - Mean, variance, Standard Deviation

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

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

print(np.mean(matrix))

5.0

print(np.std(matrix))

2.581988897471611

print(np.var(matrix))

6.666666666666667

7 - Reshaping arrays

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

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

print(matrix.reshape(9))

[1 2 3 4 5 6 7 8 9]

print(matrix.reshape(9,1))

[[1]
 [2]
 [3]
 [4]
 [5]
 [6]
 [7]
 [8]
 [9]]

print(matrix.reshape(9,2))

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [49], in <cell line: 1>()
----> 1 print(matrix.reshape(9,2))

ValueError: cannot reshape array of size 9 into shape (9,2)

print(matrix.reshape(1,-1))  # possible number of columns

[[1 2 3 4 5 6 7 8 9]]

print(matrix.flatten())

[1 2 3 4 5 6 7 8 9]

8 - transpose of matrix

What is the real world example of linear algebra?

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

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

print(matrix.T)

[[1 4 7]
 [2 5 8]
 [3 6 9]]