maxframe.dataframe.DataFrame.sub#

DataFrame.sub(other, axis='columns', level=None, fill_value=None)#

获取 dataframe 和 other 的逐元素减法(二元运算符 subtract)。等价于 -,但支持在其中一个输入中为缺失数据替换 fill_value。有反向版本 rsubtract。在算术运算符 +-*///%** 上的灵活包装器(addsubmuldivmodpow)。

参数:
  • 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

参见

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