import numpy as np
#creating array by providing numerical values
arr = np.array([[1,2,3,4],[5,6,7,8]])
arr
array([[1, 2, 3, 4], [5, 6, 7, 8]])
#numpy supports multidimensional array
arr = np.arange(12)
arr
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
#we can format the array to different dimensions
#Let's convert the arrray into 3 x 4
arr.reshape(3,4)
arr
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
#The array is not reshaped as it returns a different objet
#To get what we intend let's assign the returned the object to arr itself
arr=arr.reshape(3,4)
arr
array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
#iterating over the array
for x in np.nditer(arr):
print(x)
0 1 2 3 4 5 6 7 8 9 10 11
#multiplication
arr*arr
array([[ 0, 1, 4, 9], [ 16, 25, 36, 49], [ 64, 81, 100, 121]])
#addition
arr+arr
array([[ 0, 2, 4, 6], [ 8, 10, 12, 14], [16, 18, 20, 22]])
#sum of all elements
arr.sum()
66
#sum of each row separately
arr.sum(axis=0)
array([12, 15, 18, 21])
#sum of each column separately
arr.sum(axis=1)
array([ 6, 22, 38])
#slicing
arr[0:2]
array([[0, 1, 2, 3], [4, 5, 6, 7]])
#last row
arr[-1]
array([ 8, 9, 10, 11])