Skip to main content
`Ctrl`+`K`

# pandas.DataFrame.rsub

DataFrame.rsub(other, axis='columns', level=None, fill_value=None)

  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:
    other scalar, 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.

    level int or label

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

    fill_value scalar 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