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))python怎么读的
#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.floor()
numpy.rint()
打印(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()将每个值截断为其整数部分:
unc(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是列。我们可以使⽤und()和und()对对象进⾏四舍五⼊。
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(und(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)
und(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内核中实现它。我们还介绍了舍⼊函数的⼀些缺点,以及如何纠正它们以及如何在数据科学中⼴泛使⽤的库中发挥作⽤。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。