maxframe.dataframe.DataFrame.sub#
- DataFrame.sub(other, axis='columns', level=None, fill_value=None)#
获取 dataframe 和 other 的逐元素减法(二元运算符 subtract)。等价于
-,但支持在其中一个输入中为缺失数据替换 fill_value。有反向版本 rsubtract。在算术运算符 +、-、*、/、//、%、** 上的灵活包装器(add、sub、mul、div、mod、pow)。- 参数:
other (scalar, sequence, Series, or DataFrame) -- 任何单个或多个元素的数据结构,或类列表对象。
axis ({0 or 'index', 1 or 'columns'}) -- 是按索引(0 或 'index')还是按列(1 或 'columns')进行比较。对于 Series 输入,指定匹配 Series 索引的轴。
level (int or label) -- 在指定层级上进行广播,匹配传入的 MultiIndex 层级上的索引值。
fill_value (float or None, default None) -- 在计算之前,用此值填充现有的缺失(NaN)值以及成功对齐 DataFrame 所需的任何新元素。如果两个对应 DataFrame 位置的数据都缺失,则结果也将是缺失的。
- 返回:
算术运算的结果。
- 返回类型:
参见
DataFrame.add将 DataFrame 相加。
DataFrame.sub将 DataFrame 相减。
DataFrame.mul将 DataFrame 相乘。
DataFrame.div将 DataFrame 相除(浮点数除法)。
DataFrame.truediv将 DataFrame 相除(浮点数除法)。
DataFrame.floordiv将 DataFrame 相除(整数除法)。
DataFrame.mod计算模(除法后的余数)。
DataFrame.pow计算指数幂。
备注
不匹配的索引将被合并在一起。
示例
>>> import maxframe.dataframe as md >>> df = md.DataFrame({'angles': [0, 3, 4], ... 'degrees': [360, 180, 360]}, ... index=['circle', 'triangle', 'rectangle']) >>> df.execute() angles degrees circle 0 360 triangle 3 180 rectangle 4 360
使用运算符版本添加一个标量,返回相同的结果。
>>> (df + 1).execute() angles degrees circle 1 361 triangle 4 181 rectangle 5 361
>>> df.add(1).execute() angles degrees circle 1 361 triangle 4 181 rectangle 5 361
除以常数的反向版本。
>>> df.div(10).execute() angles degrees circle 0.0 36.0 triangle 0.3 18.0 rectangle 0.4 36.0
>>> df.rdiv(10).execute() angles degrees circle inf 0.027778 triangle 3.333333 0.055556 rectangle 2.500000 0.027778
按轴减去列表和Series的操作符版本。
>>> (df - [1, 2]).execute() angles degrees circle -1 358 triangle 2 178 rectangle 3 358
>>> df.sub([1, 2], axis='columns').execute() angles degrees circle -1 358 triangle 2 178 rectangle 3 358
>>> df.sub(md.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']), ... axis='index').execute() angles degrees circle -1 359 triangle 2 179 rectangle 3 359
不同形状DataFrame相乘的操作符版本。
>>> other = md.DataFrame({'angles': [0, 3, 4]}, ... index=['circle', 'triangle', 'rectangle']) >>> other.execute() angles circle 0 triangle 3 rectangle 4
>>> df.mul(other, fill_value=0).execute() angles degrees circle 0 0.0 triangle 9 0.0 rectangle 16 0.0