NumPy add() 函数
NumPy add() 函数用于对两个数组执行逐元素加法。此函数接受两个形状相同的输入数组,并返回一个新数组,其中每个元素等于输入数组中对应元素的和。
如果输入数组的形状不同,则应用广播规则以确保其形状兼容。这意味着该函数可以在特定条件下处理不同形状的数组。
语法
以下是 NumPy add() 函数的语法 -
numpy.add(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 的引用。
示例:add() 函数的基本用法
在以下示例中,我们创建两个一维数组,并使用 add() 函数执行逐元素加法 -
import numpy as np # 创建两个一维数组 arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # 执行逐元素加法 result = np.add(arr1, arr2) print(result)
以下是获得的输出 -
[ 6 8 10 12]
示例:使用广播添加数组
在本例中,我们演示了如何使用 add() 函数进行广播。我们创建一个二维数组,并向其中添加一个一维数组 -
import numpy as np # 创建二维数组 arr1 = np.array([[1, 2, 3], [4, 5, 6]]) # 创建一维数组 arr2 = np.array([10, 20, 30]) # 使用广播执行逐元素加法 result = np.add(arr1, arr2) print(result)
这将产生以下结果 -
[[11 22 33] [14 25 36]]
示例:使用"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.add(arr1, arr2, out=out_arr) print(out_arr)
以下是上述代码的输出 -
[ 6. 8. 10. 12.]
示例:使用 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.add(arr1, arr2, where=condition) print(result)
输出结果如下 -
[ 6 0 10 16]
numpy_arithmetic_operations.html