numpy.true_divide() in Python (original) (raw)

Last Updated : 29 Nov, 2018

(arr1, arr22, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, ufunc ‘true_divide’) :
Array element from first array is divided by the elements from second array(all happens element-wise). Both arr1 and arr2 must have same shape. Returns true division element-wise.

Python traditionally follow ‘floor division’. Regardless of input type, true division adjusts answer to its best.
“//” is floor division operator.
“/” is true division operator.

Parameters :

arr1 : [array_like]Input array or object which works as numerator. arr2 : [array_like]Input array or object which works as denominator. out : [ndarray, None, optional]Output array with same dimensions as Input array, placed with result. **kwargs : allows you to pass keyword variable length of argument to a function. It is used when we want to handle named argument in a function. where : [array_like, optional]True value means to calculate the universal functions(ufunc) at that position, False value means to leave the
value in the output alone.

Return :

If inputs are scalar then scalar; otherwise array with arr1 / arr2(element- wise) i.e. true division

Code 1 : arr1 divided by arr2

import numpy as np

arr1 = [ 6 , 7 , 2 , 9 , 1 ]

arr2 = [ 2 , 3 , 4 , 5 , 6 ]

print ( "arr1 : " , arr1)

print ( "arr1 : " , arr2)

out = np.true_divide(arr1, arr2)

print ( "\nOutput array : \n" , out)

Output :

arr1 : [6, 7, 2, 9, 1] arr1 : [2, 3, 4, 5, 6]

Output array : [ 3. 2.33333333 0.5 1.8 0.16666667]

Code 2 : elements of arr1 divided by divisor

import numpy as np

arr1 = [ 2 , 7 , 3 , 11 , 4 ]

divisor = 3

print ( "arr1 : " , arr1)

out = np.true_divide(arr1, divisor)

print ( "\nOutput array : " , out)

Output :

arr1 : [2, 7, 3, 11, 4]

Output array : [ 0.66666667 2.33333333 1. 3.66666667 1.33333333]

Code 3 : Comparison between floor_division(//) and true-division(/)

import numpy as np

arr1 = np.arange( 5 )

arr2 = [ 2 , 3 , 4 , 5 , 6 ]

print ( "arr1 : " , arr1)

print ( "arr1 : " , arr2)

out = np.floor_divide(arr1, arr2)

out_arr = np.true_divide(arr1, arr2)

print ( "\nOutput array with floor divide : \n" , out)

print ( "\nOutput array with true divide : \n" , out_arr)

print ( "\nOutput array with floor divide(//) : \n" , arr1 / / arr2)

print ( "\nOutput array with true divide(/) : \n" , arr1 / arr2)

Output :

arr1 : [0 1 2 3 4] arr1 : [2, 3, 4, 5, 6]

Output array with floor divide : [0 0 0 0 0]

Output array with true divide : [ 0. 0.33333333 0.5 0.6 0.66666667]

Output array with floor divide(//) : [0 0 0 0 0]

Output array with true divide(/) : [ 0. 0.33333333 0.5 0.6 0.66666667]

References :
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.floor_divide.html
.