# 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

## 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).

## 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]```

## 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]```

## 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