本文分享自华为云社区《从零开始学python | 如何在Python中实现Round函数?》,原文作者:Yuchuan 。

Python中的舍入函数,返回浮点数,该浮点数是指定数字的舍入版本。本文将详细探讨这一概念。本文将介绍以下内容,

  • Python round()
  • Practical Application
  • Rounding NumPy Arrays
  • Rounding Pandas Series and DataFrame
  • Data Frame

那么,让我们开始吧,

Python中的舍入函数

round(x,n)方法将返回x的值,该值四舍五入到小数点后的n位数字。

例如:
round(7.6 + 8.7,1)

输出:
16.3

回合赋予此功能以提供最接近的价值

例如:
round(6.543231,2)

输出:
6.54

有时无法提供正确的输出

示例:
round(2.675,2)#应该返回2.68,但不会返回

输出:
2.67

有时它给出正确的输出

例如:
round(8.875,2)

输出:
8.88

继续本文有关Python中的舍入函数的文章。

Python回合

python中的舍入函数将十进制值四舍五入为给定的位数,如果我们不提供n(即十进制后的位数),则会将数字四舍五入为最接近的整数。

如果其后的整数> = 5,则四舍五入为ceil;如果小数为<5,则四舍五入为整数。
没有第二个参数的round()

#int
print(round(12))
#float
print(round(66.6))
print(round(45.5))
print(round(92.4))

输出:
12
67
46
92

现在,如果提供了第二个参数,则如果last_digit + 1> = 5,则最后一个十进制数字将增加1直至舍入后的值,否则它将与提供的相同。

带有第二个参数的round()

# when last_digit+1 =5
print(round(3.775, 2))
# when last_digit+1 is >=5
print(round(3.776, 2))
# when if last_digit+1 is <5
print(round(3.773, 2))

输出:
3.77
3.78
3.77

继续本文有关Python中的舍入函数的文章。

实际应用:

四舍五入函数的一些应用是将数字四舍五入为有限的数字,例如,如果要将小数表示为小数,我们通常也将小数点后的数字设为2或3,以便可以精确地表示小数。

b=2/6
print(b)
print(round(b, 2))

输出:
0.3333333333333333
0.33

在这个数据科学和计算时代,我们通常将数据存储为Numpy数组或pandas数据框,其中舍入在准确计算操作方面起着非常重要的作用,类似于python中的round函数Numpy或Pandas接受两个参数数据和数字,即我们要四舍五入的数据以及十进制后必须四舍五入的位数,并将其应用于所有行和列。让我们看一些例子。

继续阅读有关Python:Round Function的文章。

舍入NumPy数组

要安装NumPy,您可以使用:

pip3 install numpy

除此之外,如果您正在使用Anaconda环境,它将已经安装,要舍入NumPy数组的所有值,我们会将数据作为参数传递给np.around()函数。
现在,我们将创建一个3×4大小的NumPy数组,其中包含浮点数,如下所示:

import numpy as np
np.random.seed(444)
data = np.random.randn(3, 4)
print(data)

输出:
[[0.35743992 0.3775384 1.38233789 1.17554883]
[-0.9392757 -1.14315015 -0.54243951 -0.54870808]
[0.20851975 0.21268956 1.26802054 -0.80730293]]

例如,以下将数据中的所有值四舍五入到小数点后三位:

import numpy as np
np.random.seed(444)
data = np.random.randn(3, 4)
print(np.around(data, decimals=3))

输出:
[[0.357 0.378 1.382 1.176]
[-0.939 -1.143 -0.542 -0.549]
[0.209 0.213 1.268 -0.807]]

np.around()可用于更正浮点错误。

我们可以在下面的示例中看到3×1的元素为0.20851975,您希望该值为0.208,但是将其四舍五入为0.209,还可以看到1×2的值正确舍入为0.378。

因此,如果需要将数据四舍五入为所需的形式,NumPy有很多方法:

  • numpy.ceil()
  • numpy.floor()
  • numpy.trunc()
  • numpy.rint()

np.ceil()函数将数组中的每个值四舍五入为大于或等于原始值的最接近的整数:

打印(np.ceil(数据))

输出:

[[1. 1. 2. 2.]
[-0。-1。-0。-0。]
[1. 1. 2. -0。]]

要将每个值四舍五入为最接近的整数,请使用np.floor():

print(np.floor(data))

输出:
[[0. 0. 1. 1.]
[-1。-2。-1。-1。]
[0. 0. 1. -1。]]

您还可以使用np.trunc()将每个值截断为其整数部分:

print(np.trunc(data))

输出:
[[0. 0. 1. 1.]
[-0。-1。-0。-0。]
[0. 0. 1. -0。]]

最后,要使用“舍入一半到偶数”策略舍入到最接近的整数,请使用np.rint():

print(np.rint(data))

输出:
[[0. 0. 1. 1.]
[-1。-1。-1。-1。]
[0. 0. 1. -1。]]

继续阅读有关Python:Round Function的文章。

Rounding Pandas Series and DataFrame

Pandas是另一个供数据科学家使用的流行图书馆,用于分析数据。

与NumPy相似,我们可以使用以下命令安装该库:

pip3 install pandas

Pandas的两个主要数据结构是DataFrame和Series,DataFrame基本上就像数据库中的表,而Series是列。我们可以使用Series.round()和DataFrame.round()对对象进行四舍五入。

import pandas as pd
import numpy as np
np.random.seed(444)
series = pd.Series(np.random.randn(4))
print(series)

输出:
0 0.357440
1 0.377538
2 1.382338
3 1.175549 dtype
:float64
print(series.round(2))
0 0.36
1 0.38
2 1.38
3 1.18
dtype:float64

继续阅读有关Python的文章:Round函数

数据框:

import pandas as pd
import numpy as np
np.random.seed(444)
df = pd.DataFrame(np.random.randn(3, 3), columns=["Column 1", "Column 2", "Column 3"])
print(df)
print(df.round(3))

输出:
第1列第2列第3
0 0.357440 0.377538 1.382338
1 1.175549 -0.939276 -1.143150
2 -0.542440 -0.548708 0.208520
第1列第2列3
0 0.357 0.378 1.382
1 1.176 -0.939 -1.143
2 -0.542 -0.549 0.209

对于DataFrame,我们可以为每列指定不同的精度,因此,round函数可以接受字典或Series,因此我们可以为不同的列提供不同的精度。

print(df.round({“第1列”:1,“第2列”:2,“第3列”:3}))

输出:
第1列第2列3
0 0.4 0.38 1.382
1 1.2 -0.94 -1.143
2 -0.5 -0.55 0.209

结束语

在本文中,我们介绍了什么是round函数以及如何从python内核中实现它。我们还介绍了舍入函数的一些缺点,以及如何纠正它们以及如何在数据科学中广泛使用的库中发挥作用。

点击关注,第一时间了解华为云新鲜技术~

Python中Round函数:怎么解释?怎么用?相关推荐

  1. python中round函数的精度保留方法---四舍六入五成双

    当我们利用python进行数据计算时,通常会对浮点数保留相应的位数,这时候就会用到round函数,相信各位朋友在进行使用时会遇到各种问题,关于round函数保留精度.保留方法的问题,本文会进行详细的解 ...

  2. python中round作用,python的round函数的解释

    0x01 round的疑问 简单测试round函数,有些情况会让你很疑惑. 为啥四舍五入有时候不起作用, 这涉及到的底层浮点数保存的问题.学习过逆向或者汇编的话, 都知道浮点数的精度问题. 0x02 ...

  3. Python中zip()函数的解释和可视化

    文章来源于机器学习算法与Python实战,作者爱学习的胡同学 zip()的作用 先看一下语法: zip(iter1 [,iter2 [...]]) -> zip object Python的内置 ...

  4. python中round函数参数_python中关于round函数的小坑

    round函数很简单,对浮点数进行近似取值,保留几位小数.比如 >>> round(10.0/3, 2) 3.33 >>> round(20/7) 3 第一个参数是 ...

  5. python中round函数参数有负数_Python中round函数使用注意事项

    使用round函数的时候发现了一个奇怪的现象.一直觉得round函数是一个用于四舍五入的函数,结果却不一定.一般如果觉得奇怪,那就是没弄懂其本质的运作原理,所以深入了解了下round函数. Pytho ...

  6. python中round函数的使用方法

    python中使用的语法是round(number,digits) number,要四舍五入的数,digits是要小数点后保留的位数 如果 digits 大于 0,则四舍五入到指定的小数位 如果 di ...

  7. 【详解python中round函数】

    在Python中,round()函数是一个内置函数,用于将一个数字四舍五入为指定的小数位数或整数位数. round()函数有两个参数:第一个参数是要四舍五入的数字,第二个参数(可选)是小数位数或整数位 ...

  8. 【问题解决】python中round()函数并非四舍五入

    对于python中的round()函数,我们简单的认为是四舍五入,其实不然 对于偶数 >>> round(4.5) 4 对于奇数 >>> round(5.5) 6 ...

  9. python中round函数使用

    round函数是一个用于四舍五入的函数: 在python3中,round(1.0/2.0)得到的是1,而在python2中,round(1.0/2.0)得到的是0 $ python Python 2. ...

  10. python中round函数_round函数

    Python内置的round函数,用来取小数点后N位,还是很方便的.但是要注意,round函数执行的不是四舍五入.请参考:Python实现四舍五入的方法. 看代码吧,要注意round函数在去小数点后N ...

最新文章

  1. Can't add more than 2 views to a ViewSwitcher
  2. beanstalkd 协议中文版
  3. Java 中的反射机制
  4. 1864: [Zjoi2006]三色二叉树
  5. 记录mysql的配置表误删
  6. WannaCry勒索软件还在继续传播和感染中
  7. kotlin 查找id_Kotlin程序查找圆柱体区域
  8. 构造方法与对象的创建 java 1614780813
  9. db2存储过程调用java_db2使用Java存储过程实现MD5函数
  10. xp系统能不能安装mysql_XP系统如何安装SQL2005?XP系统安装SQL2005图文教程
  11. mysql数据加表头导出_mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)...
  12. 群晖套件中心没有docker_群晖中通过docker安装huginn
  13. HTML期末学生大作业 响应式动漫网页作业 html+css+javascript (1)
  14. 我们算了笔账,月薪过万可能还不配结婚!
  15. 阿里云服务器安全组放行宝塔端口8888|888|80|443|20|21教程
  16. 一年级计算机课画画用什么,一年级孩子学画画该学哪种
  17. 谁说NTFS不支持UEFI启动的?启动U盘放不了超过4G的文件怎么办?Server2016 Win10 U盘UEFI启动制作方法
  18. 袋鼠云数栈UI5.0体验升级背后的故事:可用性原则与交互升级
  19. 深富策略:盘面太墨迹 期待来根大阳线
  20. 二级c语言自学免费下载,二级C语言学习宝典

热门文章

  1. An invalid domain [xx] was specified for this cookie
  2. unity 2020 怎么写shader使其接受光照?_Unity中实现2D光照系统
  3. 熟悉VBA的编程环境---VBE
  4. linux格式化u盘为ntfs格式,Linux下格式化U盘为NTFS格式
  5. JQuery插件机制
  6. “决策树”——数据挖掘、数据分析
  7. 计算机专业就业方向与前景以及你所要具备的技能(本科生)
  8. 手游服务器微信互通,9月14日部分服务器数据互通公告
  9. 以正方体一个顶点进行旋转的3D立方体动画
  10. alert(1) (haozi.me)靶场练习