前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pandas基础:在pandas中对数值四舍五入

pandas基础:在pandas中对数值四舍五入

作者头像
fanjy
发布2022-06-04 09:38:27
9.6K0
发布2022-06-04 09:38:27
举报
文章被收录于专栏:完美Excel完美Excel

标签:pandas,Python

在本文中,将介绍如何在pandas中将数值向上、向下舍入到最接近的数字。

为便于演示,创建下面简单的示例数据集:

import pandas as pd

import numpy as np

df= pd.DataFrame({'a':[3.14159, 1.234, 3.456, 10.111, -3.3],

'b':[12345, 90010, 7600,-9876, 15671.3]})

pandas round()语法

注意,这里是pandas的round()方法,而不是Python内置的round()函数。也就是说,这两个round()的工作原理相似。

DataFrame.round(decimals=0)

DataFrame和Series类都有round()方法,它们的工作原理完全相同。

将数值舍入到N位小数

只需将整数值传递到round()方法中,即可将数值舍入到所需的小数。例如,要四舍五入到2位小数:

在pandas中将数值向上舍入

要对数值进行向上舍入,需要利用numpy.ceil()方法,该方法返回输入的上限(即向上舍入的数字)。ceil()方法可以接受一个或多个输入值。以下两种方法返回相同的结果:

在上面的代码中,注意df.apply()接受函数作为其输入。

向下舍入数值

当然,还有一个numpy.floor()方法返回输入的底数(即向下舍入的数字)。语法与上面的示例类似。

将数值四舍五入到最接近的千位数

pandas round()方法实际上允许输入负数。负输入指定小数点左侧的位置数。例如:

  • 四舍五入(小数=-1):四舍五入到最接近的十
  • 四舍五入(小数=-2):四舍五入到最接近的百位数
  • 等等

要四舍五入到最接近的千位数,只需设置decimals=-3。

用不同的条件对数据框架进行取整

round()方法中的decimals参数可以是整数值,也可以是字典。这使得同时对多个列进行取整变得容易。

可以将第一列四舍五入到2位小数,并将第二列四舍五入到最接近的千位,如下所示:

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档