Assignment: =========== WAP to create the 1D-array and print all individual elements along with its positive and negative index using while loop. Hint: array =[1,2,3,4,5] output: element at positive index '0' and at negative index '-5' = 1 ==================================================== import numpy a = numpy.array([[[1,2,3],[4,5,6],[7,8,9]],[[9,8,7],[6,5,4],[3,2,1]]]) print("Printing 2d-arrays:") for i in a: print(i) print("Printing 1-d arrays:") for i in a: for j in i: print(j) print("Printing array elements:") for i in a: for j in i: for k in j: print(k,end = "\t") print() nditer(): ========= ==> a built-in function which can provide an efficient multi-dimensional iterator object of arrays. Syntax: for iterator_object numpy.nditer(array): block of code # 1-d arrays: ============= import numpy a = numpy.array([1,3,5,7,9]) print("Printing of individual elements of an array = ") for i in numpy.nditer(a): print(i,end = "\t") ======================== #2d-arrays: =========== import numpy a = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]] print("Printing Array elements = ") for i in numpy.nditer(a): print(i) ====================================== Array Concatenation: ==================== concatenate(): ============= Syntax: numpy.concatenate((a1,a2,a3,....),axis = 0/1/2) axis = 0 ==> joining of elements in 1d-array format axis = 1 ==> in 2d-array axis = 2 ==> in 3d-array etc. import numpy a = numpy.array([[1,2,3],[4,5,6]]) # 2d-array b = numpy.array([[7,8,9],[10,11,12]]) # 2d-array res1 = numpy.concatenate((a,b),axis = 0) res2 = numpy.concatenate((a,b),axis = 1) # res3 = numpy.concatenate((a,b),axis = 2) Axis error print("result1 = ",res1) print("result2 = ",res2) # print("result3 = ",res3) ============================================== Array stacking: =============== ==> to combining multiple arrays along new dimensions, creating higher-dimensional array. stack(): ======= Syntax: numpy.stack(arrays, axis = 0) import numpy a1 = numpy.array([1,2,3]) a2 = numpy.array([4,5,6]) a3 = numpy.array([7,8,9]) result = numpy.stack((a1,a2,a3),axis = 0) result1 = numpy.stack((a1,a2,a3),axis = 1) # result2 = numpy.stack((a1,a2,a3),axis = 2) print("result = ",result) print("Result = ",result1) # print("Result = ",result2) ============================== 2d-array a = [[1,2,3],[4,5,6],[7,8,9]] axis = 0: ========= a[0] = [1,2,3] a[1] = [4,5,6] a[2] = [7,8,9] axis = 1: ======== import numpy a1 = numpy.array([[1,2,3],[4,5,6]]) a2 = numpy.array([[7,8,9],[10,11,12]]) r1 = numpy.stack((a1,a2),axis = 0) r2 = numpy.stack((a1,a2),axis = 1) r3 = numpy.stack((a1,a2),axis = 2) print("r1 = ",r1) print("r2 = ",r2) print("r3 = ",r3) ============================================== Array Splitting: ================ split(): ======== Syntax: numpy.split(array, indices_or_sections, axis = 0) import numpy a = numpy.arange(9).reshape(3,3) a_split = numpy.split(a,3,axis = 0) print("Original Array = ",a) print("Splitting array = ",a_split)