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