Python numpy.true_divide()
(arr1, arr22, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, ufunc ‘true_divide’ ) :
第一个数组中的数组元素被第二个数组中的元素除以(所有发生的元素都是一样的)。arr1和arr2都必须有相同的形状。返回true division-wise。
Python传统上遵循 “地板分割”。无论输入类型如何,真除法都会将答案调整到最佳。
“//”是地板除法运算符。
“/”是真除法运算符。
参数 :
arr1 : [array_like]输入作为分子的数组或对象。
arr2 : [array_like]输入数组或作为分母的对象。
out : [ndarray, None, optional]输出数组,其尺寸与输入数组相同,与结果放在一起。
**kwargs :允许你向一个函数传递长度可变的关键字参数。当我们想在一个函数中处理命名的参数时,它就会被使用。
where : [array_like, optional]真值意味着在该位置计算通用函数(ufunc),假值意味着在输出中不考虑该值。
返回 :
如果输入是标量,则为标量;否则为Arr1/Arr2的数组(从元素上看),即为真除法。
代码1:Arr1除以Arr2
# Python program explaining
# true_divide() function
import numpy as np
# input_array
arr1 = [6, 7, 2, 9, 1]
arr2 = [2, 3, 4, 5, 6]
print ("arr1 : ", arr1)
print ("arr1 : ", arr2)
# output_array
out = np.true_divide(arr1, arr2)
print ("\nOutput array : \n", out)
输出 :
arr1 : [6, 7, 2, 9, 1]
arr1 : [2, 3, 4, 5, 6]
Output array :
[ 3. 2.33333333 0.5 1.8 0.16666667]
代码2:Arr1的元素除以除数
# Python program explaining
# true_divide() function
import numpy as np
# input_array
arr1 = [2, 7, 3, 11, 4]
divisor = 3
print ("arr1 : ", arr1)
# output_array
out = np.true_divide(arr1, divisor)
print ("\nOutput array : ", out)
输出 :
arr1 : [2, 7, 3, 11, 4]
Output array : [ 0.66666667 2.33333333 1. 3.66666667 1.33333333]
代码3:floor_division(//)和true-division(/)的比较
# Python program explaining
# true_divide() function
import numpy as np
# input_array
arr1 = np.arange(5)
arr2 = [2, 3, 4, 5, 6]
print ("arr1 : ", arr1)
print ("arr1 : ", arr2)
# output_array
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)
输出 :
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]