Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

NumPy – Arithmetic Operations

  • Last Updated : 14 May, 2021

NumPy is an open-source Python library for performing array computing (matrix operations). It is a wrapper around the library implemented in C and used for performing several trigonometric, algebraic, and statistical operations.  NumPy objects can be easily converted to other types of objects like the Pandas data frame and the tensorflow tensor. Python list can be used for array computing, but it is much slower than NumPy. NumPy achieves its fast implementation using vectorization. One of the important features of NumPy arrays is that a developer can perform the same mathematical operation on every element with a single command.

Let us understand arithmetic operations using NumPy.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Addition

Python3






import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing addition using arithmetic operator
add_ans = a+b
print(add_ans)
 
# Performing addition using numpy function
add_ans = np.add(a, b)
print(add_ans)
 
# The same functions and operations can be used for multiple matrices
c = np.array([1, 2, 3, 4])
add_ans = a+b+c
print(add_ans)
 
add_ans = np.add(a, b, c)
print(add_ans)

Output

[  7  77  23 130]
[  7  77  23 130]
[  8  79  26 134]
[  8  79  26 134]

As we can see that the matrixes are of the same shape, if they are different than, Numpy will try broadcasting if it is possible. The reader can see that the same operation (addition) can be done using arithmetic operation (+) as well as numpy function (np.add).

Subtraction

Python3




import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing subtraction using arithmetic operator
sub_ans = a-b
print(sub_ans)
 
# Performing subtraction using numpy function
sub_ans = np.subtract(a, b)
print(sub_ans)

Output

[ 3 67  3 70]
[ 3 67  3 70]

The user can also perform broadcasting with a matrix and a constant

Python3




import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing subtraction using arithmetic operator
sub_ans = a-b-1
print(sub_ans)
 
# Performing subtraction using numpy function
sub_ans = np.subtract(a, b, 1)
print(sub_ans)

Output

[ 2 66  2 69]
[ 2 66  2 69]

Multiplication

Python3






import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing multiplication using arithmetic operator
mul_ans = a*b
print(mul_ans)
 
# Performing multiplication using numpy function
mul_ans = np.multiply(a, b)
print(mul_ans)

Output

[  10  360  130 3000]
[  10  360  130 3000]

Division

Python3




import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing division using arithmetic operators
div_ans = a/b
print(div_ans)
 
# Performing division using numpy functions
div_ans = np.divide(a, b)
print(div_ans)

Output

[ 2.5        14.4         1.3         3.33333333]
[ 2.5        14.4         1.3         3.33333333]

There is a myriad number of other functions which in NumPy let us see some of them one by one.

mod() and power() function

Example

Python3




# Performing mod on two matrices
mod_ans = np.mod(a, b)
print(mod_ans)
 
#Performing remainder on two matrices
rem_ans=np.remainder(a,b)
print(rem_ans)
 
# Performing power of two matrices
pow_ans = np.power(a, b)
print(pow_ans)

Output

[ 1  2  3 10]
[ 1  2  3 10]
[                 25          1934917632        137858491849
 1152921504606846976]

Some aggregation and statistical functions

Example

Python3




# Getting mean of all numbers in 'a'
mean_a = np.mean(a)
print(mean_a)
 
# Getting average of all numbers in 'b'
mean_b = np.average(b)
print(mean_b)
 
# Getting sum of all numbers in 'a'
sum_a = np.sum(a)
print(sum_a)
 
# Getting variance of all number in 'b'
var_b = np.var(b)
print(var_b)

Output

47.5
11.75
190
119.1875



My Personal Notes arrow_drop_up
Recommended Articles
Page :