开发手册 欢迎您!
软件开发者资料库

Python pandas.DataFrame.round函数方法的使用

Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.round方法的使用。

DataFrame.round(decimals=0, *args, **kwargs) [source]

将DataFrame舍入到位数可变的小数。

参数:

decimals :int, dict, Series

将每一列四舍五入的小数位数。如果给定了int

则将每列四舍五入到相同的位置。否则,

dictSeries将四舍五入到可变数位。

如果小数点是类似于骰子的,

则列名应该在键中;如果小数是Series

则应该在索引中。

任何未包含在小数中的列将保留原样。

不属于输入列的小数元素将被忽略。

*args :其他关键字没有影响,

但可以接受与numpy的兼容性。

**kwargs:其他关键字没有影响,

但可以接受与numpy的兼容性。


返回值

DataFrame

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

例子

>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],...                   columns=['dogs', 'cats'])>>> df    dogs  cats0  0.21  0.321  0.01  0.672  0.66  0.033  0.21  0.18

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

>>> df.round(1)    dogs  cats0   0.2   0.31   0.0   0.72   0.7   0.03   0.2   0.2

使用dict时,可以指定特定列的位数,列名称为键,小数位数为值

>>> df.round({'dogs': 1, 'cats': 0})    dogs  cats0   0.2   0.01   0.0   1.02   0.7   0.03   0.2   0.0

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

>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])>>> df.round(decimals)    dogs  cats0   0.2   0.01   0.0   1.02   0.7   0.03   0.2   0.0