NumPy | fmod method
Start your free 7-days trial now!
NumPy's fmod(~)
method computes the remainder element-wise given two arrays.
What differentiates this mod(~)
from NumPy's fmod(~)
is confusingly not whether or not one is for floating numbers; they are both capable of parsing floating numbers. The defining difference is how they handle negative numbers - take a look at the examples below for clarification.
Parameters
1. x1
| array_like
The dividends.
2. x2
| array_like
The divisors.
3. out
| Numpy array
| optional
Instead of creating a new array, you can place the computed result into the array specified by out
.
4. where
| array
of boolean
| optional
Values that are flagged as False will be ignored, that is, their original value will be uninitialized. If you specified the out parameter, the behavior is slightly different - the original value will be kept intact.
Return value
A scalar is returned if x1
and x2
are scalars, otherwise a NumPy array is returned.
Examples
A common divisor
x = [3, 8, -7]np.fmod(x, 3)
array([ 0, 2, -1])
Here, notice how fmod(-7,3)=-1
, which is different from Python's standard % behaviour, which gives you -7%3=2
. In fact, NumPy's fmod(~)
method follows the main C library's fmod(~)
implementation.
Element-wise division
x = [5, 8]np.mod(x, [2,3])
array([1, 2])
Here, we're simply performing 5%2=1
and 8%3=2
.