pandas.DataFrame.__add__#

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

获取 DataFrame 和其他对象的列相加结果。

等同于 DataFrame.add(other)

参数:
其他标量, 序列, 系列, 字典或数据框

要添加到 DataFrame 中的对象。

返回:
DataFrame

other 添加到 DataFrame 的结果。

参见

DataFrame.add

添加一个 DataFrame 和另一个对象,具有按索引或按列添加的选项。

例子

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

other 是一个 Series 时,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 也不会重新定向。如果需要按索引对齐,应使用带 axis=’index’DataFrame.add()

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

other 是一个 DataFrame 时,列名和索引都会对齐。

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