总结:在这篇文章中,round函数是什么,如何从python内核实现。此外,舍入函数的一些缺点以及如何纠正它们,在数据科学中广泛使用的库中发挥作用。本文分享自华为云社区《从零开始学python | 如何在Python中实现Round函数?》,原作者:雨川。Python中的Round函数返回一个浮点数,该浮点数是指定数字的四舍五入版本。本文详细探讨了这个概念。本文将介绍以下内容,Pythonround()实用应用RoundingNumPyArraysRoundingPandasSeriesandDataFrameDataFrame那么,让我们开始吧,Python中的round函数round(x,n)方法会返回x四舍五入到小数点后的值接下来的n个数字。例如:round(7.6+8.7,1)输出:16.3round给这个函数给出最接近的值例如:round(6.543231,2)输出:6.54有时不给出正确的输出示例:round(2.675,2)#shouldreturns2.68但不返回输出:2.67有时它会给出正确的输出,例如:round(8.875,2)输出:8.88继续这篇关于Python中舍入函数的文章。python中的round()函数将小数值四舍五入到给定的位数,如果我们不提供n(即小数点后的位数),则四舍五入到最接近的整数。如果它后面的整数>=5,则四舍五入;如果小数<5,则四舍五入为整数。没有第二个参数的round()#intprint(round(12))#floatprint(round(66.6))print(round(45.5))print(round(92.4))输出:12674692现在如果提供第二个参数,那么如果last_digit+1>=5,最后一位十进制数加1到舍入值,否则与提供的相同。带有第二个参数的round()#whenlast_digit+1=5print(round(3.775,2))#whenlast_digit+1is>=5print(round(3.776,2))#wheniflast_digit+1is<5print(round(3.773,2))输出:3.773.783.77这篇关于Python舍入函数的文章的续篇。实际应用:四舍五入函数的一些应用是将数字四舍五入为有限数,比如我们要把一个小数表示成小数,我们通常也会把小数点后的数字也做成2或3,这样小数点就可以了精确地表示。b=2/6print(b)print(round(b,2))output:0.3333333333333330.33在这个数据科学和计算的时代,我们通常将数据存储为Numpy数组或pandas数据帧,其中舍入在精确计算中至关重要operations方面起着非常重要的作用,类似于python中的round函数Numpy或者Pandas带两个参数data和number,我们要舍入的数据和小数点后必须舍入的位数应用到所有行和列。让我们看一些例子。继续阅读有关Python的文章:RoundFunction。RoundingNumPyarrays要安装NumPy,你可以使用:pip3installnumpy否则,如果你使用的是Anaconda环境,它已经安装好了,要对NumPy数组的所有值进行舍入,我们将数据作为参数传递给np.around()函数。现在,我们将创建一个包含浮点数的大小为3×4的NumPy数组,如下所示:importnumpyasnpnp.random.seed(444)data=np.random.randn(3,4)print(data)输出:[[0.357439920.37753841.382337891.17554883][-0.9392757-1.14315015-0.54243951-0.54870808][0.208519750.212689561.26802054-0.80730293]]例如,以下将数据中的所有值四舍五入到小数点后三位:importnumpyasnpnp.random.seed(444)data=np.random.randn(3,4)print(np.around(data,decimals=3))输出:[[0.3570.3781.3821.176][-0.939-1.143-0.542-0.549][0.2090.2131.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()函数获取每个值四舍五入到最接近的大于或等于原始值的整数:print(np.ceil(data))输出:[[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的文章:RoundFunction。RoundingPandasSeries和DataFramePandas是数据科学家用来分析数据的另一个流行库。类似于NumPy,我们可以使用以下命令安装这个库:pip3installpandasPandas的两个主要数据结构是DataFrame和Series,DataFrame基本上就像数据库中的一个表,而Series是一个列。我们可以使用Series.round()和DataFrame.round()舍入对象。将熊猫导入为pdimportnumpy作为npnp.random.seed(444)series=pd.Series(np.random.randn(4))print(series)输出:00.35744010.37753821.38233831.175549dtype:float64print(series.round(2))00.3610.3821.3831.18dtype:float64继续阅读Python:RoundfunctionDataFrame:importpandasaspdimportnumpyasnpnp.random.seed(444)df=pd.DataFrame(np.random.randn(3,3),columns=["Column1","Column2","Column3"])print(df)print(df.round(3))输出:第1列,第2列,第30列0.3574400.3775381.38233811.175549-0.939276-1.1431502-0.542440-0.5487080.208520Column1Column2300.3570.3781.38211.176-0.939-1.1432-0.542-0.5490.209对于DataFrames,我们可以为每一列指定不同的精度,因此,rounds函数可以接受字典或者所以我们可以提供不同的不同列的精度。print(df.round({"Column1":1,"Column2":2,"Column3":3}))输出:Column1Column2300.40.381.38211.2-0.94-1.1432-0.5-0.550.209结束语在本文中,我们介绍了什么是圆函数以及如何从python内核实现它。我们还介绍了舍入函数的一些缺点、如何纠正它们以及它们如何在数据科学中广泛使用的库中发挥作用。点击关注,第一时间了解华为云的新鲜技术~
