CSE110 - Array Slide
CSE110 - Array Slide
Array
● Sequence of data
● Single data type
● Fixed length
● Indexed
● Fixed-dimensional
2
Linear Array
3
Linear Array
Introduction to NumPy
● Array creation
arr = np.zeros(size, dtype = datatype) arr = np.zeros(5, dtype = int)
● Array length
○ .size : attribute, returns the total number of
elements irrespective of dimensionality.
print(len(arr)) 5
○ len() : function, returns the total number of print(arr.size) 5
elements along the first dimension
4
Linear Array
Array Operations
● Array traversal
idx = 0 for idx in range(arr.size):
while idx < arr.size: print(arr[idx])
print(arr[idx])
idx += 1
5
Linear Array
Array Operations
● Array creation from user input length = int(input("Enter array length: "))
arr = np.zeros(length, dtype = int)
○ Can be created from a single for i in range(length):
input string as well value = int(input("Enter a value: "))
arr[i] = value
print(arr)
● Array Manipulation
○ Updating values
○ Operation using/on indices
○ Array size increment => Creating a new array with increase size and copied values
6
Linear Array
Benefits of Array
● Memory Efficient
● Random Access
● Faster Performance
● Better suited for Mathematical Operations (i.e. vectorized/matrix
operations)
7
Linear Array
Bubble Sort
-2 0 -9 11 45
8
Multi-Dimensional Array
9
Multi-Dimensional Array
10
Multi-Dimensional Array
RGB image
11
Multi-Dimensional Array
2D MATRIX
Dimensions of matrices
Rows x Columns
12
Multi-Dimensional Array
13
Multi-Dimensional Array
14
Multi-Dimensional Array
Indexing in 2D Matrix a
● a[row_num][col_num] can
access individual cell.
16
Multi-Dimensional Array
Iteration of 2D Matrix
17
Multi-Dimensional Array
18
Multi-Dimensional Array
=
Multi-Dimensional Array
=
Multi-Dimensional Array
=
Multi-Dimensional Array
=
Multi-Dimensional Array
=
Multi-Dimensional Array
=
Matrix & Matrix Multiplication Code Multi-Dimensional Array
27
Multi-Dimensional Array
28
Matrix & Vector Multiplication Code Multi-Dimensional Array
import numpy as np
A=np.array( [[3,4], A(3,2):
[4,5], [[3 4]
[10,11]] ) [4 5]
# The shape of A is (3,2) [10 11]]
B=np.array( [3,2] )
# The shape of A is (2,1) B(2,1):
# So, the shape of C will be (3,1) [3
C=np.zeros( shape=(3,1), dtype=int) 2]
for i in range(3):
sum=0 C(3,1):
for j in range(2): [[17]
sum += A[i][j] * B[j] [22]
[52]]
C[i][0]=sum
print("\nC(3,1):")
print(C)
30
Multi-Dimensional Array
for i in range(v1.size):
dot_product+= v1[i]*v2[i]
31
Multi-Dimensional Array
32
Multi-Dimensional Array
33
Matrix Row Switching v3 Multi-Dimensional Array
A = np.array([[4,3,2],[7,1,5],[-1,0,10]]) OUTPUT:
print('Before Switching')
Before Switching
print(A)
[[ 4 3 2]
row_len = A.shape[0] [ 7 1 5]
col_len = A.shape[1] [-1 0 10]]
#Switching Row index 1 and Row index 2
After Switching
for c in range(col_len):
[[ 4 3 2]
temp = A[1][c] [-1 0 10]
A[1][c] = A[2][c] [ 7 1 5]]
A[2][c] = temp
print("After Switching")
print(A)
34