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
当 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也不会被重新定向。如果需要按索引对齐,应使用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
当 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