Python中Round函数:怎么解释?怎么用?
摘要:在本文中,介绍了什么是round函数以及如何从python内核中实现它。同时,还介绍舍入函数的一些缺点,以及如何纠正它们,如何在数据科学中广泛使用的库中发挥作用。
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 | 如何在Python中实现Round函数?》,原文作者:Yuchuan 。
Python中Round函数:怎么解释?怎么用?的更多相关文章
- Python中zip()函数的解释和可视化
zip()的作用 先看一下语法: zip(iter1 [,iter2 [...]]) -> zip object Python的内置help()模块提供了一个简短但又有些令人困惑的解释: 返回一 ...
- Python中split()函数的用法及实际使用示例
Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...
- Python中利用函数装饰器实现备忘功能
Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下 " ...
- 从 python 中 axis 参数直觉解释 到 CNN 中 BatchNorm 的工作方式(Keras代码示意)
1. python 中 axis 参数直觉解释 网络上的解释很多,有的还带图带箭头.但在高维下是画不出什么箭头的.这里阐述了 axis 参数最简洁的解释. 假设我们有矩阵a, 它的shape是(4, ...
- python中range()函数的用法
python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...
- Python 中的函数
学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...
- python中format函数
python中format函数用于字符串的格式化 通过关键字 1 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 2 grade = {'nam ...
- Python中readline()函数 去除换行符
从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...
- Python中int()函数的用法浅析
int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builti ...
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
随机推荐
- tunm, 一种对标JSON的二进制数据协议
Tunm simple binary proto 一种对标JSON的二进制数据协议 支持的数据类型 基本支持的类型 "u8", "i8", "u16& ...
- 会自动写代码的AI大模型来了!仅10秒就写出一个飞机大战游戏!
一.写在前面 昨天分享了一款可以帮我们写代码的插件CodeGeex,其实能帮我们解决大部分问题,讲道理已经很好了对不对? but,他就是最好的插件吗? 肯定不是,这不又让我又发现了一款可以平替的插件T ...
- Util应用框架基础(五) - 异常处理
本节介绍Util应用框架如何处理系统错误. 概述 系统在运行过程中可能发生错误. 系统错误可以简单分为两类: 系统异常 系统本身出现的错误. 业务异常 不满足业务规则出现的错误. 如何处理系统异常 如 ...
- 【随手记】python免api调用谷歌翻译
pip3 install googletrans==4.0.0-rc1 from googletrans import Translator translator = Translator() tra ...
- 高效开发与设计:提效Spring应用的运行效率和生产力
引言 现状和背景 Spring框架是广泛使用的Java开发框架之一,它提供了强大的功能和灵活性,但在大型应用中,由于Spring框架的复杂性和依赖关系,应用的启动时间和性能可能会受到影响.这可能导致开 ...
- 记一次在线客服系统用户遭勒索,索要茶水费事件的 Windbg 分析与应对
本文记录了几个月前,客户在使用在线客服系统过程中,遭到勒索威胁,索要茶水费 的事件.经过应对,快速的化解了攻击威胁,并继续安全使用至今. 讲故事 威胁次日,收到报警,服务器 CPU 使用率持续超过 8 ...
- CPF C#跨平台UI框架开源了
介绍 C#跨平台UI框架 提供NETStandard2.0和net4的库,通过Netcore可以跨平台,支持Windows.Mac.Linux,Net4的可以支持XP. 各个平台运行效果一致,不依赖系 ...
- 【译】Visual Studio 2022 - 17.8 的性能改进
Visual Studio 2022 17.8版本欢迎一系列令人振奋的性能增强,包括响应式文件打开体验,改进 Razor/Blazor 的响应性,加速 F5,优化的 C++ 虚幻引擎智能感知和非 SD ...
- 洛谷2151 [SDOI2009]HH去散步(矩阵快速幂,边点互换)
题意:HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又因为HH是个喜欢变化 ...
- [python][图像切割]给定手写数字图片完成数字切割
import torch import torch.nn as nn from torchvision import transforms from PIL import Image, ImageOp ...