pandas.DataFrame.__add__#

DataFrame.__add__(other)[源代码]#

获取DataFrame与另一个对象的逐列加法。

相当于 DataFrame.add(other)

Parameters:
other标量、序列、Series、dict或DataFrame

要添加到DataFrame的对象。

Returns:
DataFrame

other 添加到DataFrame的结果。

参见

DataFrame.add

将DataFrame与另一个对象相加,并可选择按索引或列进行加法。

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

添加标量会影响所有行和列。

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

列表的每个元素按顺序添加到DataFrame的列中。

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

字典的键根据列名与DataFrame对齐;字典中的每个值都添加到相应的列中。

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

otherSeries 时,other 的索引与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

即使 other 的索引与DataFrame的索引相同, Series 也不会被重新定向。如果需要按索引对齐,应使用 DataFrame.add() 并设置 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

otherDataFrame 时,列名和索引都会对齐。

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