pandas.DataFrame.add#
- DataFrame.add(other, axis='columns', level=None, fill_value=None)[源代码][源代码]#
获取数据框和其他元素的加法,逐元素操作(二元运算符 add)。
等同于
dataframe + other
,但在其中一个输入中缺失数据时,支持用 fill_value 替代。有反向版本,radd。在灵活的包装器 (add, sub, mul, div, floordiv, mod, pow) 到算术运算符:+, -, *, /, //, %, **。
- 参数:
- 其他标量, 序列, 系列, 字典或数据框
任何单个或多个元素的数据结构,或类似列表的对象。
- 轴{0 或 ‘index’, 1 或 ‘columns’}
是否按索引(0 或 ‘index’)或列进行比较。(1 或 ‘columns’)。对于 Series 输入,轴与 Series 索引匹配。
- 级别int 或 label
在某一级别上进行广播,匹配传递的 MultiIndex 级别上的索引值。
- fill_value浮点数或 None, 默认 None
在计算之前,用这个值填充现有的缺失(NaN)值,以及成功对齐 DataFrame 所需的新元素。如果两个 DataFrame 对应位置的数据都缺失,结果将是缺失的。
- 返回:
- DataFrame
算术运算的结果。
参见
DataFrame.add
添加数据框。
DataFrame.sub
减去 DataFrame。
DataFrame.mul
乘以 DataFrame。
DataFrame.div
分割数据框(浮点除法)。
DataFrame.truediv
分割数据框(浮点除法)。
DataFrame.floordiv
分割数据框(整数除法)。
DataFrame.mod
计算模数(除法后的余数)。
DataFrame.pow
计算指数幂。
备注
不匹配的索引将被联合在一起。
例子
>>> df = pd.DataFrame({'angles': [0, 3, 4], ... 'degrees': [360, 180, 360]}, ... index=['circle', 'triangle', 'rectangle']) >>> df angles degrees circle 0 360 triangle 3 180 rectangle 4 360
添加一个返回相同结果的运算符版本的标量。
>>> df + 1 angles degrees circle 1 361 triangle 4 181 rectangle 5 361
>>> df.add(1) angles degrees circle 1 361 triangle 4 181 rectangle 5 361
用反向版本除以常数。
>>> df.div(10) angles degrees circle 0.0 36.0 triangle 0.3 18.0 rectangle 0.4 36.0
>>> df.rdiv(10) angles degrees circle inf 0.027778 triangle 3.333333 0.055556 rectangle 2.500000 0.027778
通过操作符版本按轴减去列表和系列。
>>> df - [1, 2] angles degrees circle -1 358 triangle 2 178 rectangle 3 358
>>> df.sub([1, 2], axis='columns') angles degrees circle -1 358 triangle 2 178 rectangle 3 358
>>> df.sub(pd.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']), ... axis='index') angles degrees circle -1 359 triangle 2 179 rectangle 3 359
按轴乘以字典。
>>> df.mul({'angles': 0, 'degrees': 2}) angles degrees circle 0 720 triangle 0 360 rectangle 0 720
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index') angles degrees circle 0 0 triangle 6 360 rectangle 12 1080
使用操作符版本乘以不同形状的DataFrame。
>>> other = pd.DataFrame({'angles': [0, 3, 4]}, ... index=['circle', 'triangle', 'rectangle']) >>> other angles circle 0 triangle 3 rectangle 4
>>> df * other angles degrees circle 0 NaN triangle 9 NaN rectangle 16 NaN
>>> df.mul(other, fill_value=0) angles degrees circle 0 0.0 triangle 9 0.0 rectangle 16 0.0
按级别划分多索引。
>>> df_multindex = pd.DataFrame({'angles': [0, 3, 4, 4, 5, 6], ... 'degrees': [360, 180, 360, 360, 540, 720]}, ... index=[['A', 'A', 'A', 'B', 'B', 'B'], ... ['circle', 'triangle', 'rectangle', ... 'square', 'pentagon', 'hexagon']]) >>> df_multindex angles degrees A circle 0 360 triangle 3 180 rectangle 4 360 B square 4 360 pentagon 5 540 hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0) angles degrees A circle NaN 1.0 triangle 1.0 1.0 rectangle 1.0 1.0 B square 0.0 0.0 pentagon 0.0 0.0 hexagon 0.0 0.0
>>> df_pow = pd.DataFrame({'A': [2, 3, 4, 5], ... 'B': [6, 7, 8, 9]}) >>> df_pow.pow(2) A B 0 4 36 1 9 49 2 16 64 3 25 81