mars.dataframe.DataFrame.mod#

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

获取数据框和其他元素的取模(二元操作符 mod)。等同于 %,但支持在一个输入中替换缺失数据的 fill_value。与反向版本 rmod 一起使用。灵活的包装器 (addsubmuldivmodpow) 用于算术运算符:+-*///%**

Parameters
  • 其他 (标量, 序列, 系列, 或 数据框) – 任何单个或多个元素的数据结构,或类似列表的对象。

  • ({0'index', 1'columns'}) – 是选择按索引进行比较(0 或 ‘index’)还是按列进行比较(1 或 ‘columns’)。对于 Series 输入,轴用于匹配 Series 索引。

  • level (intlabel) – 在一个级别上广播,匹配传递的 MultiIndex 级别上的索引值。

  • fill_value (floatNone, 默认 None) – 用这个值填充现有的缺失 (NaN) 值,以及任何在计算之前成功对齐 DataFrame 所需的新元素。 如果两个对应 DataFrame 位置的数据都是缺失的, 结果将会是缺失的。

Returns

算术运算的结果。

Return type

数据框

另请参阅

DataFrame.add

添加数据框。

DataFrame.sub

减去数据框。

DataFrame.mul

乘法数据框。

DataFrame.div

划分数据框(浮点除法)。

DataFrame.truediv

对数据框进行除法(浮点除法)。

DataFrame.floordiv

对 DataFrames 进行整除。

DataFrame.mod

计算模(除法后的余数)。

DataFrame.pow

计算指数幂。

备注

不匹配的索引将被合并在一起。

示例

>>> import mars.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

通过操作符版本在轴上减去列表和系列。

>>> (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 * other).execute()
           angles  degrees
circle          0      NaN
triangle        9      NaN
rectangle      16      NaN
>>> df.mul(other, fill_value=0).execute()
           angles  degrees
circle          0      0.0
triangle        9      0.0
rectangle      16      0.0

按级别对MultiIndex进行除法运算。

>>> df_multindex = md.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.execute()
             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).execute()
             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