pandas.DataFrame.rsub#

DataFrame.rsub(other, axis='columns', level=None, fill_value=None)[source]#

Get Subtraction of dataframe and other, element-wise (binary operator rsub).

Equivalent to other - dataframe, but with support to substitute a fill_value for missing data in one of the inputs. With reverse version, sub.

Among flexible wrappers (add, sub, mul, div, floordiv, mod, pow) to arithmetic operators: +, -, *, /, //, %, **.

Parameters:
otherscalar, sequence, Series, dict or DataFrame

Any single or multiple element data structure, or list-like object.

axis{0 or ‘index’, 1 or ‘columns’}

Whether to compare by the index (0 or ‘index’) or columns. (1 or ‘columns’). For Series input, axis to match Series index on.

levelint or label

Broadcast across a level, matching Index values on the passed MultiIndex level.

fill_valuescalar or None, default None

Fill NA values, whether present in the original data or introduced by alignment, with this value before computation. Positions where both inputs are NA are left unfilled and behave as NA does for the operation.

Returns:
DataFrame

Result of the arithmetic operation.

See also

DataFrame.add

Add DataFrames.

DataFrame.sub

Subtract DataFrames.

DataFrame.mul

Multiply DataFrames.

DataFrame.div

Divide DataFrames (float division).

DataFrame.truediv

Divide DataFrames (float division).

DataFrame.floordiv

Divide DataFrames (integer division).

DataFrame.mod

Calculate modulo (remainder after division).

DataFrame.pow

Calculate exponential power.

Notes

Mismatched indices will be unioned together.

Examples

>>> df = pd.DataFrame(
...     {"angles": [0, 3, 4], "degrees": [360, 180, 360]},
...     index=["circle", "triangle", "rectangle"],
... )
>>> df
           angles  degrees
circle          0      360
triangle        3      180
rectangle       4      360

Subtract by a scalar with operator version which return the same results.

>>> 1 - df
           angles  degrees
circle          1     -359
triangle       -2     -179
rectangle      -3     -359
>>> df.rsub(1)
           angles  degrees
circle          1     -359
triangle       -2     -179
rectangle      -3     -359

Subtract by a list and Series by axis with operator version.

>>> [1, 2] - df
           angles  degrees
circle          1     -358
triangle       -2     -178
rectangle      -3     -358
>>> df.rsub([1, 2], axis="columns")
           angles  degrees
circle          1     -358
triangle       -2     -178
rectangle      -3     -358
>>> df.rsub(
...     pd.Series([1, 1, 1], index=["circle", "triangle", "rectangle"]),
...     axis="index",
... )
           angles  degrees
circle          1     -359
triangle       -2     -179
rectangle      -3     -359

Subtract by a dictionary by axis.

>>> df.rsub({"angles": 0, "degrees": 2})
           angles  degrees
circle          0     -358
triangle       -3     -178
rectangle      -4     -358
>>> df.rsub({"circle": 0, "triangle": 2, "rectangle": 3}, axis="index")
           angles  degrees
circle          0     -360
triangle       -1     -178
rectangle      -1     -357