mars.dataframe.DataFrame.round#

DataFrame.round(decimals=0, *args, **kwargs)#

将数据框四舍五入到可变的小数位数。

Parameters
  • decimals (int, dict, Series) – 每个列四舍五入的十进制位数。如果给定一个整数,所有列将被四舍五入到相同的位数。否则,字典和Series将四舍五入到可变的位数。如果decimals是字典类型,列名应在键中;如果decimals是Series,则列名应在索引中。任何不包含在decimals中的列将保持原样。decimals中不属于输入的列的元素将被忽略。

  • *args – 额外的关键字没有影响,但可能为与numpy的兼容性而被接受。

  • **kwargs – 额外的关键字没有影响,但可能会被接受以兼容numpy。

Returns

一个DataFrame,其中受影响的列四舍五入到指定的小数位数。

Return type

数据框

另请参阅

numpy.around

将numpy数组四舍五入到给定的小数位数。

Series.round

将系列四舍五入到给定的小数位数。

示例

>>> import mars.dataframe as md
>>> df = md.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],
...                   columns=['dogs', 'cats'])
>>> df.execute()
    dogs  cats
0  0.21  0.32
1  0.01  0.67
2  0.66  0.03
3  0.21  0.18

通过提供一个整数,每一列都舍入到相同的小数位数

>>> df.round(1).execute()
    dogs  cats
0   0.2   0.3
1   0.0   0.7
2   0.7   0.0
3   0.2   0.2

使用字典,可以通过列名作为键和小数位数作为值来指定特定列的小数位数

>>> df.round({'dogs': 1, 'cats': 0}).execute()
    dogs  cats
0   0.2   0.0
1   0.0   1.0
2   0.7   0.0
3   0.2   0.0

使用 Series,可以用列名作为索引,指定特定列的小数位数作为值

>>> decimals = md.Series([0, 1], index=['cats', 'dogs'])
>>> df.round(decimals).execute()
    dogs  cats
0   0.2   0.0
1   0.0   1.0
2   0.7   0.0
3   0.2   0.0