NumPy power() 函数
NumPy power() 函数用于将一个数组中的每个元素计算为另一个数组或标量中对应元素的幂。
它执行逐元素幂运算,并返回一个包含结果的新数组。你还可以将数组计算为标量幂。此函数处理不同形状数组的广播。
语法
以下是 NumPy power() 函数的语法 -
numpy.power(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
参数
此函数接受以下参数 -
- x1:基础输入数组。两个数组应具有相同的形状,或者它们必须能够广播为共同的形状。
- x2:指数输入数组。与 x1 类似,它应该具有与 x1 相同的形状,或者可以广播为通用形状。
- out(可选): 存储结果的位置。如果提供,则必须具有输入广播到的形状。如果未提供或为 None,则返回一个新分配的数组。
- where(可选): 此条件通过输入进行广播。在条件为 True 的位置,out 数组将设置为 ufunc 结果。否则,它将保留其原始值。
- casting(可选): 控制可能发生的数据转换类型。默认为"same_kind"。
- order(可选): 控制结果的内存布局顺序。 'C' 表示 C 阶,'F' 表示 Fortran 阶,'A' 表示如果输入均为 F 则为 'F',否则为 'C','K' 表示尽可能匹配输入的布局。
- dtype(可选): 返回数组的类型以及元素进行幂运算的累加器的类型。除非指定 dtype,否则默认使用 x1 和 x2 的 dtype。
- subok(可选): 如果为 True,则将传递子类,否则返回的数组将被强制为基类数组。
返回值
此函数返回输入数组 x1 和 x2 的元素幂。如果提供了 out,则返回对 out 的引用。
示例:power() 函数的基本用法
在以下示例中,我们创建两个一维数组,并使用 power() 函数执行逐元素幂运算 -
import numpy as np # 创建两个一维数组 arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([2, 3, 2, 1]) # 执行逐元素幂运算 result = np.power(arr1, arr2) print(result)
以下是获得的输出 -
[ 1 8 9 4]
示例:带广播的 Power
在此示例中,我们演示了如何使用 power() 函数进行广播。我们创建一个二维数组,并对其进行一维数组的幂运算 -
import numpy as np # 创建二维数组 arr1 = np.array([[1, 2, 3], [4, 5, 6]]) # 创建一维数组 arr2 = np.array([2, 3, 2]) # 使用广播功能进行逐元素幂运算 result = np.power(arr1, arr2) print(result)
这将产生以下结果 -
[[ 1 8 9] [ 16 125 36]]
示例:对数组进行幂运算标量幂
在本例中,我们将数组的所有元素都取标量幂 -
import numpy as np # 创建一维数组 arr = np.array([2, 3, 4]) # 将数组取 3 次方 result = np.power(arr, 3) print(result)
以下是上述代码的输出 -
[ 8 27 64]
示例:负指数幂
在本例中,我们将数组元素取负指数,从而得到倒数 -
import numpy as np # 创建一维数组 arr = np.array([2, 4, 8], dtype=float) # 将数组进行 -1 次方运算 result = np.power(arr, -1) print(result)
输出结果如下 -
[0.5 0.25 0.125]
numpy_arithmetic_operations.html