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