NumPy multiply() 函数
NumPy multiply() 函数用于对两个数组进行元素乘法运算。它接受两个输入数组(形状相同或兼容),并返回一个新数组,其对应元素相乘。
此函数支持广播,这意味着它可以处理不同形状的数组(如果它们兼容)。
语法
以下是 NumPy multiply() 函数的语法 -
numpy.multiply(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 的引用。
示例:multiply() 函数的基本用法
在以下示例中,我们创建两个一维数组,并使用 multiply() 函数执行逐元素乘法 -
import numpy as np # 创建两个一维数组 arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # 执行逐元素乘法 result = np.multiply(arr1, arr2) print(result)
以下是获得的输出 -
[ 5 12 21 32]
示例:使用广播功能对数组进行乘法运算
在此示例中,我们演示了如何使用 multiply() 函数进行广播。我们创建一个二维数组,并将其与一个一维数组相乘 -
import numpy as np # 创建二维数组 arr1 = np.array([[1, 2, 3], [4, 5, 6]]) # 创建一维数组 arr2 = np.array([10, 20, 30]) # 使用广播执行元素乘法 result = np.multiply(arr1, arr2) print(result)
这将产生以下结果 -
[[10 40 90] [40 100 180]]
示例:使用"out"参数
在此示例中,我们使用out参数将乘法结果存储在指定的数组中 -
import numpy as np # 创建两个一维数组 arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # 创建输出数组 out_arr = np.empty(4) # 执行元素乘法并将结果存储在 out_arr 中 np.multiply(arr1, arr2, out=out_arr) print(out_arr)
以下是上述代码的输出 -
[ 5. 12. 21. 32.]
示例:使用 "where" 参数
在此示例中,我们使用 where 参数有条件地执行乘法运算 -
import numpy as np # 创建两个一维数组 arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # 创建条件数组 condition = np.array([True, False, True, False]) # 当条件为 True 时,执行元素乘法 result = np.multiply(arr1, arr2, where=condition) print(result)
输出结果如下 -
[ 5 0 21 16]
numpy_arithmetic_operations.html