Python Libraries For Data Science

NumPy - Array Manipulation

The learning objectives of this section are: Manipulating arrays and Performing operations on array
Enroll

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.
Sign up

Create Your Account Now!

Join our platform today and unlock access to expert- led courses, hands- on exercises, and a supportive learning community.
Sign Up