numpy.modf(x, [out1, out2, ]/, [out=(None, None), ]*, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'modf'>

Return the fractional and integral parts of an array, element-wise.

The fractional and integral parts are negative if the given number is negative.


x : array_like

Input array.

out : ndarray, None, or tuple of ndarray and None, optional

A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs.

where : array_like, optional

Values of True indicate to calculate the ufunc at that position, values of False indicate to leave the value in the output alone.


For other keyword-only arguments, see the ufunc docs.


y1 : ndarray

Fractional part of x.

y2 : ndarray

Integral part of x.

See also

divmod(x, 1) is equivalent to modf with the return values switched, except it always has a positive remainder.


For integer input the return values are floats.


>>> np.modf([0, 3.5])
(array([ 0. ,  0.5]), array([ 0.,  3.]))
>>> np.modf(-0.5)
(-0.5, -0)

Previous topic


Next topic