numpy.fmod#
- numpy.fmod(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature]) = <ufunc 'fmod'>#
返回除法的元素余数。
这是 C 语言库函数 fmod 的 NumPy 实现,余数的符号与被除数 x1 的符号相同。它等同于 Matlab(TM) 的
rem函数,不应将其与 Python 的模运算符x1 % x2混淆。- 参数:
- x1array_like
被除数。
- x2array_like
除数。如果
x1.shape != x2.shape,它们必须能够广播为共同的形状(这也将成为输出的形状)。- outndarray, None, or tuple of ndarray and None, optional
结果存储的位置。如果提供了,它必须具有输入广播到的形状。如果未提供或为 None,则返回一个新分配的数组。元组(仅可能作为关键字参数)的长度必须等于输出的数量。
- wherearray_like, optional
此条件将广播到输入。在条件为 True 的位置,out 数组将设置为 ufunc 结果。在其他地方,out 数组将保留其原始值。请注意,如果通过默认的
out=None创建了一个未初始化的 out 数组,那么其中条件为 False 的位置将保持未初始化状态。- **kwargs
有关其他关键字参数,请参阅 ufunc 文档。
- 返回:
- yarray_like
x1 除以 x2 的余数。如果 x1 和 x2 均为标量,则结果也是标量。
备注
对于负被除数和除数,模运算的结果取决于相关约定。对于
fmod,结果的符号与被除数的符号相同;而对于remainder,结果的符号与除数的符号相同。fmod函数等同于 Matlab(TM) 的rem函数。示例
>>> import numpy as np >>> np.fmod([-3, -2, -1, 1, 2, 3], 2) array([-1, 0, -1, 1, 0, 1]) >>> np.remainder([-3, -2, -1, 1, 2, 3], 2) array([1, 0, 1, 1, 0, 1])
>>> np.fmod([5, 3], [2, 2.]) array([ 1., 1.]) >>> a = np.arange(-3, 3).reshape(3, 2) >>> a array([[-3, -2], [-1, 0], [ 1, 2]]) >>> np.fmod(a, [2,2]) array([[-1, 0], [-1, 0], [ 1, 0]])