📜  Python中的 numpy.true_divide()

📅  最后修改于: 2022-05-13 01:54:55.047000             🧑  作者: Mango

Python中的 numpy.true_divide()

(arr1, arr22, /, out=None, *, where=True, cast='same_kind', order='K', dtype=None, ufunc 'true_divide'):
第一个数组中的数组元素除以第二个数组中的元素(所有元素都发生)。 arr1 和 arr2 必须具有相同的形状。返回真正的除法元素。

Python传统上遵循“地板除法”。无论输入类型如何,真正的除法都会将答案调整到最佳状态。
“//”是楼层除法运算符。
“/”是真正的除法运算符。

参数 :

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.

返回 :

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


代码 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]

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