Array Manipulation with NumPy: A Guide

The learning objectives of this section are: Manipulating arrays and Performing operations on array
20 Videos
No Coding Experience Required
45 Assignments
Self Paced
Orange Eclipse

Sign Up For Free

Join now for expert-led courses, hands-on exercises, and a supportive learning community!

NumPy Arrays

The learning objectives of this section are:

  • Manipulate arrays
    • Reshape and Resize arrays
    • Stack arrays
    • Transposing
    • Swapaxis
  • Perform operations on arrays
    • Perform basic mathematical operations
    • Broadcast Numpy
    • Apply built-in functions
    • Expressing Conditional Logic

Reshaping of an array, changing the shape of an array

import numpy as np
arr = np.array([[1,2,3,4],[5,6,7,8], [9,10,11,12]])

print(arr)

OUTPUT:

[[ 1  2  3  4]
[ 5  6 7  8]
[ 9 10 11 12]]

print(arr.shape)

OUTPUT:

(3,4)

sh_arr=arr.reshape(12,1)
sh_arr

OUTPUT:

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

numpy.resize, this function returns a new array with the specified size.

import numpy as np
arr = np.array([[1,2,3,4],[5,6,7,8]])
arr

OUTPUT:

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

arr.resize(6,6,refcheck=False)
arr

OUTPUT:

array([[1, 2, 3, 4, 5, 6],
      [7, 8, 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]])

Stacking Arrays: np.hstack() and n.vstack()

Stacking is done using the np.hstack() and np.vstack() methods. For horizontal stacking, the number of rows should be the same, while for vertical stacking, the number of columns should be the same.

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

b = np.array([4, 5, 6,7,8])

c = np.array([4, 5, 6])

np.hstack([a,b,c])

OUTPUT:

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

b = np.array([4, 5, 6])

c = np.array([4, 5, 6])

np.vstack((a,b,c))

OUTPUT:

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

Flatten an array, returns a copy of the array collapsed into one dimension

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

OUTPUT:

array([[1, 2, 3, 4],       [5, 6, 7, 8]])
a.shape

OUTPUT:

(2,4)

flat_array = a.flatten()
flat_array

OUTPUT:

array([1, 2, 3, 4, 5, 6, 7, 8])
flat_array.shape

OUTPUT:

(8,)

Transpose of an array,the transpose of a matrix is obtained by moving the rows data to the column and columns data to the rows.

Transpose of 2-D an array

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

OUTPUT:

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

arr.shape

OUTPUT:

(2,4)

arr1= arr.transpose(1,0)
arr1.shape

OUTPUT:

(4,2)

arr1

OUTPUT:

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

Mathematical Operations

arr = np.arange(10).reshape((5,2))
arr

OUTPUT:

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

np.sum(arr)

OUTPUT:

45

print(np.sum(arr,axis =0))  ## rows 

OUTPUT:

[20 25]
print(np.sum(arr,axis =1))

OUTPUT:

[ 1  5  9 13 17]

Expressing conditional Logic as array operation

a = np.arange(10)
a

OUTPUT:

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# condition , yes , no
b = np.where(a > 5, a, 10*a)
b

OUTPUT:

array([ 0, 10, 20, 30, 40, 50,  6,  7,  8,  9])

Sorting an array

arr = np.array([3,4,1,5,9,6,2])
print(arr)


arr_sorted = sorted(arr,reverse=False)
print(arr_sorted)

OUTPUT:

[3 4 1 5 9 6 2]
[1, 2, 3, 4, 5, 6, 9]

(Arithmetic Operations) Broadcasting

array1 = np.array([10,20,30,40,50])
array2 = np.array([2])

print(array1/array2)

OUTPUT:

[ 5. 10. 15. 20. 25.]
array1 = np.array([[10,20,30,40,50],[10,20,30,40,50]])
array2 = np.array([1,2,3,4,5])

print(array1+array2)

OUTPUT:

[[11 22 33 44 55]
[11 22 33 44 55]]
Lesson Assignment
Challenge yourself with our lab assignment and put your skills to test.
# Python Program to find the area of triangle

a = 5
b = 6
c = 7

# Uncomment below to take inputs from the user
# a = float(input('Enter first side: '))
# b = float(input('Enter second side: '))
# c = float(input('Enter third side: '))

# calculate the semi-perimeter
s = (a + b + c) / 2

# calculate the area
area = (s*(s-a)*(s-b)*(s-c)) ** 0.5
print('The area of the triangle is %0.2f' %area)
Sign up to get access to our code lab and run this code.
AI icon

AI Assistant For Help

Enhance your learning experience with our AI Learning Assistant. This sophisticated tool seamlessly evaluates your progress, course materials, and code, providing customized feedback and suggestions on the spot.
development icon

Flexible Mobile Coding

Engage with your coding tasks anytime, anywhere. Our adaptable, mobile optimized IDE lets you execute programming tasks directly from any web enabled device.
web
search icon

Project Development Support

Navigate through project challenges effortlessly with AI- powered support and swift access to a resource- rich community network.
file sharing icon

On-Demand Documentation

Quickly access integrated, context-specific documentation directly within the learning platform, streamlining your study process without the need to switch applications.

Ready to become a Data Scientist that industry loves to hire? Apply Now. 

Explore Courses