search
Search
Publish
Guest 0reps
Thanks for the thanks!
close
account_circle
Profile
exit_to_app
Sign out
search
keyboard_voice
close
Searching Tips
Search for a recipe: "Creating a table in MySQL"
Search for an API documentation: "@append"
Search for code: "!dataframe"
Apply a tag filter: "#python"
Useful Shortcuts
/ to open search panel
Esc to close search panel
to navigate between search results
d to clear all current filters
Enter to expand content preview Doc Search Code Search Beta SORRY NOTHING FOUND!
mic
Start speaking... Voice search is only supported in Safari and Chrome.
Shrink
Navigate to
A
A
share
thumb_up_alt
bookmark
arrow_backShare Twitter Facebook

# Difference between the methods mod and fmod in NumPy

Programming
chevron_right
Python
chevron_right
NumPy
chevron_right
Cookbooks
schedule Mar 10, 2022
Last updated
local_offer PythonNumPy
Tags
expand_more

Both `mod(~)` and `fmod(~)` methods compute the remainder of given two arrays of dividend and divisor.

What differentiates `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.

Let's take a look at a simple example.

``` x = [3, 8.5, -7]np.mod(x, 3) array([0. , 2.5, 2. ]) ```

Here, `mod(-7,3)=2`, which is equivalent to Python's `%` implementation `(-7%3=2)`. Also notice how 8.5, which is a floating number, was parsed correctly.

Now, let's do the same thing using the fmod method:

``` x = [3, 8.5, -7]np.fmod(x, 3) array([ 0. , 2.5, -1. ]) ```

Here, we see that `fmod(-7,3)=-1`, which is a different answer from above. In fact, Numpy's `fmod(~)` method follows the main C library's `fmod(~)` implementation.