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
.