pandas.DataFrame.sub #
- 数据框。sub ( other , axis = 'columns' , level = None , fill_value = None ) [来源] #
获取数据帧和其他元素的减法(二元运算符sub)。
相当于,但支持用 fill_value 替换输入之一中缺失的数据。对于反向版本,rsub。
dataframe - other
在算术运算符的灵活包装器(add、sub、mul、div、Floordiv、mod、pow )中: +、-、*、/、//、%、**。
- 参数:
- 其他标量、序列、系列、字典或数据帧
任何单个或多个元素的数据结构,或类似列表的对象。
- 轴{0 或“索引”、1 或“列”}
是否按索引(0 或“索引”)或列进行比较。 (1 或“列”)。对于系列输入,要匹配系列索引的轴。
- level int 或 label
跨级别广播,匹配传递的多索引级别上的索引值。
- fill_value float 或 None,默认 None
在计算之前使用此值填充现有缺失 (NaN) 值以及成功 DataFrame 对齐所需的任何新元素。如果两个相应 DataFrame 位置中的数据均丢失,则结果将丢失。
- 返回:
- 数据框
算术运算的结果。
也可以看看
DataFrame.add
添加数据框。
DataFrame.sub
减go数据帧。
DataFrame.mul
乘以数据帧。
DataFrame.div
对 DataFrame 进行除法(浮点除法)。
DataFrame.truediv
对 DataFrame 进行除法(浮点除法)。
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
使用操作员版本按轴减go列表和系列。
>>> 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
按级别除以 MultiIndex。
>>> 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