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 :class:`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 :class:`Series` will not be reoriented. If index-wise alignment is desired, :meth:`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 :class:`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 )