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 docs .

返回:
yarray_like

x1 除以 x2 的余数.如果 x1x2 都是标量,则这是一个标量.

参见

remainder

等价于Python的 % 运算符.

divide

注释

对于负被除数和除数,模运算的结果受约定约束.对于 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]])