Skip to main content
`Ctrl`+`K`

# pandas.DataFrame.__add__

DataFrame.__add__(other)

  Get Addition of DataFrame and other, column-wise.

  Equivalent to `DataFrame.add(other)`.

  Parameters:
    other scalar, sequence, Series, dict or DataFrame

      Object to be added to the DataFrame.

  Returns:
    DataFrame

      The result of adding `other` to DataFrame.

  See also

  `DataFrame.add`

    Add a DataFrame and another object, with option for index- or column-oriented addition.

  Examples

      >>> df = pd.DataFrame(
      ...     {"height": [1.5, 2.6], "weight": [500, 800]}, index=["elk", "moose"]
      ... )
      >>> df
             height  weight
      elk       1.5     500
      moose     2.6     800

  Adding a scalar affects all rows and columns.

      >>> df[["height", "weight"]] + 1.5
             height  weight
      elk       3.0   501.5
      moose     4.1   801.5

  Each element of a list is added to a column of the DataFrame, in order.

      >>> df[["height", "weight"]] + [0.5, 1.5]
             height  weight
      elk       2.0   501.5
      moose     3.1   801.5

  Keys of a dictionary are aligned to the DataFrame, based on column names; each value in the dictionary is added to the corresponding column.

      >>> df[["height", "weight"]] + {"height": 0.5, "weight": 1.5}
             height  weight
      elk       2.0   501.5
      moose     3.1   801.5

  When other is a `Series`, the index of other is aligned with the columns of the DataFrame.

      >>> s1 = pd.Series([0.5, 1.5], index=["weight", "height"])
      >>> df[["height", "weight"]] + s1
             height  weight
      elk       3.0   500.5
      moose     4.1   800.5

  Even when the index of other is the same as the index of the DataFrame, the `Series` will not be reoriented. If index-wise alignment is desired, `DataFrame.add()` should be used with axis=’index’.

      >>> s2 = pd.Series([0.5, 1.5], index=["elk", "moose"])
      >>> df[["height", "weight"]] + s2
             elk  height  moose  weight
      elk    NaN     NaN    NaN     NaN
      moose  NaN     NaN    NaN     NaN

      >>> df[["height", "weight"]].add(s2, axis="index")
             height  weight
      elk       2.0   500.5
      moose     4.1   801.5

  When other is a `DataFrame`, both columns names and the index are aligned.

      >>> other = pd.DataFrame(
      ...     {"height": [0.2, 0.4, 0.6]}, index=["elk", "moose", "deer"]
      ... )
      >>> df[["height", "weight"]] + other
             height  weight
      deer      NaN     NaN
      elk       1.7     NaN
      moose     3.0     NaN