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