Python numpy.float_power()
numpy.float_power(arr1, arr2, out = None, where = True, casting = ‘same_kind’, order = ‘K’, dtype = None) :
第一个数组中的元素被提升到第二个元素的幂(所有这些都是按元素发生的)。arr1和arr2都必须有相同的形状。
float_power与幂函数不同的是,整数、float16和float32被提升为最小精度为float64的浮点数,所以结果总是不精确的。这个函数对于负数来说,会返回一个可用的结果,对于正数来说,很少会溢出。
参数 :
arr1 : [array_like]输入作为基数的数组或对象。
arr2 : [array_like]输入数组或作为指数的对象。
out : [ndarray, optional]输出数组,其尺寸与输入数组相同,与结果放在一起。
**kwargs : 允许你向一个函数传递长度可变的关键字参数。当我们想在一个函数中处理命名的参数时,它就会被使用。
where : [array_like, optional]真值意味着在该位置计算通用函数(ufunc),假值意味着在输出中不考虑该值。
返回 :
一个数组,Arr1的元素被提升到Arr2的指数。
代码1:
# 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]