pandas.DataFrame.round#

DataFrame.round(decimals=0, *args, **kwargs)[源代码]#

将DataFrame四舍五入到小数位数可变。

参数
decimals整型、二进制、系列

每列要舍入到的小数位数。如果给出了一个整型,则将每一列四舍五入到相同的位数。否则,将DICT和Series四舍五入到可变位数。在以下情况下,列名称应在键中 decimals 是类似词典的,或者如果是在索引中 decimals 是一个系列剧。中未包括的任何列 decimals 将保持原样。元素: decimals 哪些不是输入的列将被忽略。

*args

其他关键字不起作用,但可能会被接受以与NumPy兼容。

**kwargs

其他关键字不起作用,但可能会被接受以与NumPy兼容。

退货
DataFrame

将受影响的列四舍五入到指定小数位数的DataFrame。

参见

numpy.around

将数值数组四舍五入为给定的小数位数。

Series.round

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

示例

>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],
...                   columns=['dogs', 'cats'])
>>> df
    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)
    dogs  cats
0   0.2   0.3
1   0.0   0.7
2   0.7   0.0
3   0.2   0.2

使用DICT,可以使用列名作为键、小数位数作为值来指定特定列的位数

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

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

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