pandas.DataFrame.mod#

DataFrame.mod(other, axis='columns', level=None, fill_value=None)[源代码][源代码]#

获取数据框和其他对象的元素级模运算(二元运算符 mod)。

等同于 dataframe % other ,但在其中一个输入中缺少数据时,支持用 fill_value 替代。有反向版本,rmod

在灵活的包装器 (add, sub, mul, div, floordiv, mod, pow) 到算术运算符:+, -, *, /, //, %, **

参数:
其他标量, 序列, 系列, 字典或数据框

任何单个或多个元素的数据结构,或类似列表的对象。

{0 或 ‘index’, 1 或 ‘columns’}

是否按索引(0 或 ‘index’)或列进行比较。(1 或 ‘columns’)。对于 Series 输入,轴与 Series 索引匹配。

级别int 或 label

在某个级别上广播,匹配传递的 MultiIndex 级别上的索引值。

fill_value浮点数或无, 默认无

在计算之前,用这个值填充现有的缺失(NaN)值,以及成功对齐DataFrame所需的所有新元素。如果两个相应DataFrame位置中的数据都缺失,结果将是缺失的。

返回:
DataFrame

算术运算的结果。

参见

DataFrame.add

添加数据框。

DataFrame.sub

减去 DataFrame。

DataFrame.mul

乘以 DataFrame。

DataFrame.div

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

DataFrame.truediv

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

DataFrame.floordiv

分割数据框(整数除法)。

DataFrame.mod

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

DataFrame.pow

计算指数幂。

备注

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

示例

>>> df = pd.DataFrame({'angles': [0, 3, 4],
...                    'degrees': [360, 180, 360]},
...                   index=['circle', 'triangle', 'rectangle'])
>>> df
           angles  degrees
circle          0      360
triangle        3      180
rectangle       4      360

添加一个返回相同结果的运算符版本的标量。

>>> df + 1
           angles  degrees
circle          1      361
triangle        4      181
rectangle       5      361
>>> df.add(1)
           angles  degrees
circle          1      361
triangle        4      181
rectangle       5      361

用反向版本除以常数。

>>> df.div(10)
           angles  degrees
circle        0.0     36.0
triangle      0.3     18.0
rectangle     0.4     36.0
>>> df.rdiv(10)
             angles   degrees
circle          inf  0.027778
triangle   3.333333  0.055556
rectangle  2.500000  0.027778

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

>>> df - [1, 2]
           angles  degrees
circle         -1      358
triangle        2      178
rectangle       3      358
>>> df.sub([1, 2], axis='columns')
           angles  degrees
circle         -1      358
triangle        2      178
rectangle       3      358
>>> df.sub(pd.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']),
...        axis='index')
           angles  degrees
circle         -1      359
triangle        2      179
rectangle       3      359

按轴乘以字典。

>>> df.mul({'angles': 0, 'degrees': 2})
            angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
            angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080

使用操作符版本乘以不同形状的DataFrame。

>>> other = pd.DataFrame({'angles': [0, 3, 4]},
...                      index=['circle', 'triangle', 'rectangle'])
>>> other
           angles
circle          0
triangle        3
rectangle       4
>>> df * other
           angles  degrees
circle          0      NaN
triangle        9      NaN
rectangle      16      NaN
>>> df.mul(other, fill_value=0)
           angles  degrees
circle          0      0.0
triangle        9      0.0
rectangle      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  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)
             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
>>> df_pow = pd.DataFrame({'A': [2, 3, 4, 5],
...                        'B': [6, 7, 8, 9]})
>>> df_pow.pow(2)
    A   B
0   4  36
1   9  49
2  16  64
3  25  81