NumPy mod() 函数
NumPy mod() 函数用于返回逐元素除法的余数。它对输入数组中的每对元素执行模运算。
它计算将第一个数组中的每个元素除以第二个数组中对应元素(或除以一个标量)后的余数。此函数处理不同形状数组的广播。
语法
以下是 NumPy mod() 函数的语法 -
numpy.mod(x1, x2, /, out=None, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
参数
此函数接受以下参数 -
- x1:被除数输入数组。该数组的元素将被 x2 的元素除。
- 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 的引用。
示例:mod() 函数的基本用法
在以下示例中,我们创建两个一维数组,并使用 mod() 函数执行逐元素取模运算 -
import numpy as np # 创建两个一维数组 arr1 = np.array([5, 9, 11, 14]) arr2 = np.array([3, 4, 5, 6]) # 执行逐元素取模 result = np.mod(arr1, arr2) print(result)
以下是获得的输出 -
[2 1 1 2]
示例:使用广播进行模运算
在此示例中,我们演示了如何使用 mod() 函数进行广播。我们创建一个二维数组,并计算它除以一个一维数组的余数 -
import numpy as np # 创建二维数组 arr1 = np.array([[5, 9, 11], [14, 21, 29]]) # 创建一维数组 arr2 = np.array([3, 4, 5]) # 使用广播功能执行逐元素取模 result = np.mod(arr1, arr2) print(result)
这将产生以下结果 -
[[2 1 1] [2 1 4]]
示例:使用标量
在此示例中,我们计算数组所有元素的乘积,并用标量值计算它们的模数 -
import numpy as np # 创建一维数组 arr = np.array([5, 9, 11, 14]) # 对标量值 3 执行模运算 result = np.mod(arr, 3) print(result)
以下是上述代码的输出 -
[2 0 2 2]
示例:对负值执行模运算
在此示例中,我们计算负数的模运算 -
import numpy as np # 创建包含负值的一维数组 arr = np.array([-5, -9, -11, -14]) # 对标量值 3 result = np.mod(arr, 3) print(result)
得到的输出如下所示 -
[ 1 0 1 1]
numpy_arithmetic_operations.html