pandas.DataFrame.add — pandas 2.2.3 documentation (original) (raw)

DataFrame.__add__(other)[source]#

Get Addition of DataFrame and other, column-wise.

Equivalent to DataFrame.add(other).

Parameters:

otherscalar, 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