DataFrame.sub(other, axis='columns', level=None, fill_value=None) [source]
获取DataFrame
和其他元素的减法(二进制运算符sub
)。
与等效,但支持用fill_value
替换输入之一中的丢失数据。rsub是反向版本。dataframe - other
在灵活的包装器(add,sub,mul,div,mod,pow
)中使用算术运算符:+,-,*,/,//,%,**
。
参数: | other : 任何单个或多个元素的数据结构,或类列表的对象。 axis : 是按索引( 对于Series输入,轴匹配Series索引。 level : 跨级别广播,匹配通过的多索引级别上的索引值。 fill_value : 在计算之前,用这个值填充现有的 以及成功的 如果两个对应的 则结果将丢失。 |
返回值: | DataFrame 算术运算的结果。 |
Notes
不匹配的索引将合并在一起。
例子
>>> df = pd.DataFrame({'angles': [0, 3, 4],... 'degrees': [360, 180, 360]},... index=['circle', 'triangle', 'rectangle'])>>> df angles degreescircle 0 360triangle 3 180rectangle 4 360
添加带有运算符版本的标量,该标量返回相同的结果
>>> df + 1 angles degreescircle 1 361triangle 4 181rectangle 5 361>>> df.add(1) angles degreescircle 1 361triangle 4 181rectangle 5 361
用常数除以反向版本
>>> df.div(10) angles degreescircle 0.0 36.0triangle 0.3 18.0rectangle 0.4 36.0>>> df.rdiv(10) angles degreescircle inf 0.027778triangle 3.333333 0.055556rectangle 2.500000 0.027778
用操作员版本减去列表和按轴系列
>>> df - [1, 2] angles degreescircle -1 358triangle 2 178rectangle 3 358>>> df.sub([1, 2], axis='columns') angles degreescircle -1 358triangle 2 178rectangle 3 358>>> df.sub(pd.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']),... axis='index') angles degreescircle -1 359triangle 2 179rectangle 3 359
将具有不同形状的DataFrame乘以运算符版本
>>> other = pd.DataFrame({'angles': [0, 3, 4]},... index=['circle', 'triangle', 'rectangle'])>>> other anglescircle 0triangle 3rectangle 4>>> df * other angles degreescircle 0 NaNtriangle 9 NaNrectangle 16 NaN>>> df.mul(other, fill_value=0) angles degreescircle 0 0.0triangle 9 0.0rectangle 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 degreesA circle 0 360 triangle 3 180 rectangle 4 360B square 4 360 pentagon 5 540 hexagon 6 720>>> df.div(df_multindex, level=1, fill_value=0) angles degreesA circle NaN 1.0 triangle 1.0 1.0 rectangle 1.0 1.0B square 0.0 0.0 pentagon 0.0 0.0 hexagon 0.0 0.0