maxframe.dataframe.DataFrame.mod#

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

获取 DataFrame 和 other 的模运算结果,按元素计算(二元运算符 mod)。等价于 %,但支持在其中一个输入中缺失数据时用 fill_value 替代。对应的反向版本为 rmod。作为算术运算符 +, -, *, /, //, %, ** 的灵活封装函数包括: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