mars.dataframe.DataFrame.pow#

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

获取数据框及其他的指数幂,逐元素(双目运算符 pow)。 等效于 **,但支持为缺失数据中的一个输入替代 fill_value。 具有反向版本 rpow。 在灵活的包装器中 (add, sub, mul, div, mod, pow) 对应算术运算符: +, -, *, /, //, %, **

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

整除数据框。

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