Python中的 numpy.float_power()
numpy.float_power(arr1, arr2, out = None, where = True, cast = 'same_kind', order = 'K', dtype = None) :
来自第一个数组的数组元素被提升到来自第二个元素的元素的幂(所有都发生在元素方面)。 arr1 和 arr2 必须具有相同的形状。
float_power与 power函数的不同之处在于整数、float16 和 float32 被提升为具有最低 float64 精度的浮点数,因此结果总是不精确的。该函数将返回一个可用的负幂结果,并且很少溢出 +ve 幂。
参数 :
arr1 : [array_like]Input array or object which works as base.
arr2 : [array_like]Input array or object which works as exponent.
out : [ndarray, 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.
返回 :
An array with elements of arr1 raised to exponents in arr2
代码 1:arr1 提升为 arr2
# Python program explaining
# float_power() function
import numpy as np
# input_array
arr1 = [2, 2, 2, 2, 2]
arr2 = [2, 3, 4, 5, 6]
print ("arr1 : ", arr1)
print ("arr1 : ", arr2)
# output_array
out = np.float_power(arr1, arr2)
print ("\nOutput array : ", out)
输出 :
arr1 : [2, 2, 2, 2, 2]
arr1 : [2, 3, 4, 5, 6]
Output array : [ 4. 8. 16. 32. 64.]
代码 2:arr1 的元素提升到指数 2
# Python program explaining
# float_power() function
import numpy as np
# input_array
arr1 = np.arange(8)
exponent = 2
print ("arr1 : ", arr1)
# output_array
out = np.float_power(arr1, exponent)
print ("\nOutput array : ", out)
输出 :
arr1 : [0 1 2 3 4 5 6 7]
Output array : [ 0. 1. 4. 9. 16. 25. 36. 49.]
代码 3:如果 arr2 有 -ve 元素,则 float_power 处理结果
# Python program explaining
# float_power() function
import numpy as np
# input_array
arr1 = [2, 2, 2, 2, 2]
arr2 = [2, -3, 4, -5, 6]
print ("arr1 : ", arr1)
print ("arr2 : ", arr2)
# output_array
out = np.float_power(arr1, arr2)
print ("\nOutput array : ", out)
输出 :
arr1 : [2, 2, 2, 2, 2]
arr2 : [2, -3, 4, -5, 6]
Output array : [ 4.00000000e+00 1.25000000e-01 1.60000000e+01
3.12500000e-02 6.40000000e+01]
参考 :
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.float_power.html#numpy.float_power
.