【Numpy】一文向您详细介绍 np.round()

【Numpy】一文向您详细介绍 np.round()
 
下滑即可查看博客内容
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇

🎓 博主简介985高校的普通本硕,曾有幸发表过人工智能领域的 中科院顶刊一作论文,熟练掌握PyTorch框架

🔧 技术专长: 在CVNLP多模态等领域有丰富的项目实战经验。已累计提供近千次定制化产品服务,助力用户少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于深度学习、PyTorch、Python相关的实用内容。已发表原创文章500余篇,代码分享次数逾六万次

💡 服务项目:包括但不限于科研辅导知识付费咨询以及为用户需求提供定制化解决方案

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🌵文章目录🌵

  • 🔄 一、引言
  • 🔍 二、np.round() 的基础用法
  • 🚀 三、np.round() 的进阶用法
  • 🔄 四、np.round() 在数据分析中的应用
  • 💡 五、从 np.round() 看 Numpy 的设计哲学
  • 🌱 六、其他类似的Numpy函数
  • 🚀 七、总结与展望

下滑即可查看博客内容

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

🔄 一、引言

  在数据处理的世界里,我们经常需要对数值进行四舍五入操作,以便更好地进行数据分析或可视化。Numpy库作为Python中最为重要的科学计算库之一,为我们提供了np.round()函数,该函数可以方便地对数组中的元素进行四舍五入操作。本文将通过详细的介绍和丰富的代码示例,带您深入了解np.round()函数的基础用法、进阶技巧以及在实际数据分析中的应用。

🔍 二、np.round() 的基础用法

  np.round()函数是Numpy库中用于对数组进行四舍五入操作的函数。它接受一个数组作为输入,并返回一个包含四舍五入后结果的数组。下面是一个简单的示例:

import numpy as np

# 创建一个包含浮点数的一维数组
arr = np.array([1.23, 2.45, 3.67, 4.89, 5.1])

# 使用np.round()函数对数组进行四舍五入
rounded_arr = np.round(arr)

# 打印原始数组和四舍五入后的数组
print("原始数组:", arr)
print("四舍五入后的数组:", rounded_arr)

输出:

原始数组: [1.23 2.45 3.67 4.89 5.1 ]
四舍五入后的数组: [1. 2. 4. 5. 5.]

在上面的示例中,我们创建了一个包含浮点数的一维数组arr,然后使用np.round()函数对其进行四舍五入操作。可以看到,np.round()函数默认将数组中的元素四舍五入到最接近的整数。

🚀 三、np.round() 的进阶用法

  除了默认的四舍五入到最接近的整数外,np.round()函数还接受一个可选的decimals参数,用于指定要保留的小数位数。下面是一个示例:

# 创建一个包含浮点数的一维数组
arr = np.array([1.2345, 2.5678, 3.9876, 4.1234, 5.6789])

# 使用np.round()函数对数组进行四舍五入,并保留两位小数
rounded_arr_2_decimals = np.round(arr, decimals=2)

# 打印原始数组和保留两位小数后的数组
print("原始数组:", arr)
print("保留两位小数后的数组:", rounded_arr_2_decimals)

输出:

原始数组: [1.2345 2.5678 3.9876 4.1234 5.6789]
保留两位小数后的数组: [1.23 2.57 4.   4.12 5.68]

在上面的示例中,我们通过设置decimals=2,将数组中的元素四舍五入到保留两位小数。

此外,np.round()函数还可以对多维数组进行操作。下面是一个处理二维数组的示例:

# 创建一个二维数组
arr_2d = np.array([[1.123, 2.456, 3.789], [4.012, 5.345, 6.789]])

# 使用np.round()函数对二维数组进行四舍五入,并保留一位小数
rounded_arr_2d_1_decimal = np.round(arr_2d, decimals=1)

# 打印原始二维数组和保留一位小数后的二维数组
print("原始二维数组:")
print(arr_2d)
print("保留一位小数后的二维数组:")
print(rounded_arr_2d_1_decimal)

输出:

原始二维数组:
[[1.123 2.456 3.789]
 [4.012 5.345 6.789]]
保留一位小数后的二维数组:
[[1.1 2.5 3.8]
 [4.  5.3 6.8]]

🔄 四、np.round() 在数据分析中的应用

  在数据分析中,np.round()函数的应用非常广泛。例如,在处理价格数据时,我们经常需要将价格四舍五入到特定的位数,以便进行更准确的计算或展示。下面是一个在数据分析中使用np.round()函数的示例:

import numpy as np

# 假设我们有一个包含商品价格的一维数组
prices = np.array([19.995, 24.567, 35.123, 48.987, 67.345])

# 商家规定价格需要四舍五入到小数点后两位
rounded_prices = np.round(prices, decimals=2)

# 打印原始价格和四舍五入后的价格
print("原始价格:", prices)
print("四舍五入后的价格:", rounded_prices)

# 假设我们要计算这些商品的总价
total_price_original = prices.sum()
total_price_rounded = rounded_prices.sum()

# 打印原始总价和四舍五入后的总价
print("原始总价:", total_price_original)
print("四舍五入后的总价:", total_price_rounded)

输出:

原始价格: [19.995 24.567 35.123 48.987 67.345]
四舍五入后的价格: [20.  24.57 35.12 48.99 67.35]
原始总价: 195.917
四舍五入后的总价: 195.93

  在上面的示例中,我们模拟了一个包含商品价格的一维数组,并使用np.round()函数将价格四舍五入到小数点后两位。然后,我们计算了原始价格的总价和四舍五入后价格的总价,以展示四舍五入操作对总价的影响。

💡 五、从 np.round() 看 Numpy 的设计哲学

  np.round()函数作为Numpy库中的一个函数,体现了Numpy的设计哲学。首先,Numpy提供了大量用于科学计算和数据分析的函数,这些函数功能强大且易于使用。其次,Numpy的函数通常都支持对数组进行操作,这使得在处理大规模数据时能够显著提高效率。最后,Numpy的函数通常都提供了丰富的参数选项,以满足不同用户的需求。

  在np.round()函数中,我们可以看到Numpy的这些设计哲学得到了很好的体现。首先,np.round()函数功能强大,能够方便地对数组中的元素进行四舍五入操作。其次,np.round()函数支持对多维数组进行操作,这使得在处理复杂数据时更加灵活。最后,np.round()函数提供了decimals参数选项,允许用户指定要保留的小数位数。

🌱 六、其他类似的Numpy函数

  除了np.round()函数外,Numpy库中还有许多类似的函数用于处理数组中的数值。下面列举几个常用的函数:

  1. np.floor():向下取整函数,返回不大于输入值的最大整数。
import numpy as np

arr = np.array([1.23, 2.45, 3.67, 4.89, 5.1])
floored_arr = np.floor(arr)
print("向下取整后的数组:", floored_arr)
  1. np.ceil():向上取整函数,返回不小于输入值的最小整数。
import numpy as np

arr = np.array([1.23, 2.45, 3.67, 4.89, 5.1])
ceiled_arr = np.ceil(arr)
print("向上取整后的数组:", ceiled_arr)
  1. np.trunc():截断函数,返回输入值的整数部分,忽略小数部分。
import numpy as np

arr = np.array([1.23, 2.45, 3.67, 4.89, 5.1])
truncated_arr = np.trunc(arr)
print("截断后的数组:", truncated_arr)

  这些函数与np.round()函数类似,都是用于处理数组中的数值的。它们各有特点,可以根据实际需求选择使用。

🚀 七、总结与展望

  通过本文的介绍,我们深入了解了np.round()函数的基础用法、进阶技巧以及在实际数据分析中的应用。同时,我们还从np.round()函数出发,探讨了Numpy库的设计哲学和其他类似的函数。

  Numpy作为Python中最重要的科学计算库之一,为我们提供了丰富的数学函数和工具,可以极大地提高数据处理和科学计算的效率。np.round()函数作为Numpy库中的一个重要函数,不仅功能强大,而且易于使用,是我们在进行数据分析时不可或缺的工具之一。

  在未来的学习和工作中,我们将继续深入探索Numpy库的其他函数和工具,以更好地应对各种数据处理和科学计算任务。同时,我们也将关注Numpy库的不断更新和发展,学习最新的技术和方法,以不断提升自己的数据处理能力。

  最后,感谢Numpy库为我们提供了如此强大的工具,让我们在数据分析和科学计算的道路上越走越远。如果你对Numpy库或np.round()函数有任何疑问或建议,欢迎在评论区留言,我们将尽快回复并与你交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/713916.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从0到1搭建MCU芯片上操作系统环境。开发都需要哪些环节和准备

MCU芯片环境搭建与操作系统上载步骤 1. 硬件准备 选择合适的MCU芯片,例如STM32、GD32等。 准备开发板,用于硬件连接和实验。 准备必要的外围设备,如电源适配器、USB转串口模块等。 2. 软件环境搭建 安装编程语言环境,如C/C编译…

NVIDIA Triton系列02-功能与架构简介

NVIDIA Triton系列02-功能与架构简介 B站:肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com) 博客:肆十二-CSDN博客 问答:(10 封私信 / 72 条消息) 肆十二 - 知乎 (zhihu.com) 前面文章介绍微软 Teams 会议系统、微信软件与腾讯…

微信视频号视频怎么下载才能保存视频到手机相册,推荐一款稳定的视频号下载工具

视频号视频下载发现写了很多次,竟然还有很多人不知道微信视频号视频怎么下载,今天就来说说这款视频号下载工具。 视频号下载工具介绍 这款视频号下载工具叫视频号下载plus,也有很多人称之为视频下载小助手不知道的可以自行百度。 注意在百度…

码住!详解时序数据库不同分类与性能对比

加速发展中的时序数据库,基于不同架构,最流行的类别是? 作为管理工业场景时序数据的新兴数据库品类,时序数据库凭借着对海量时序数据的高效存储、高可扩展性、时序分析计算等特性,一跃成为物联网时代工业领域颇受欢迎的…

SolarLab - hackthebox

简介 靶机名称:SolarLab 难度:中等 靶场地址:https://app.hackthebox.com/machines/SolarLab 本地环境 靶机IP :10.10.11.16 ubuntu渗透机IP(ubuntu 22.04):10.10.16.17 windows渗透机IP(windows11&…

RawChat:优化AI对话体验,全面兼容GPT功能平台

文章目录 一、Rawchat简介1.1 RawChat的主要特性1.2 RawChat的技术原理简述 二、使用教程三、案例应用3.1 图片内容分析3.2 生图演示3.3 文档解析3.4 探索更多 四、小结 一、Rawchat简介 RawChat平台的诞生,其核心理念是降低用户访问类似ChatGPT这类先进AI服务的门…

FPGA - 数 - 加减乘除

一,数的表示 首先,将二进制做如下解释: 2的0次方1 2的1次方2 2的2次方4 2的3次方8 ..... 以此类推,那么任何整数,或者说任意一个自然数均可以采用这种方式来表示。 例如,序列10101001,根据上述…

ThinkPHP邮件发送配置教程?怎么配置群发?

ThinkPHP邮件发送安全性如何保障?ThinkPHP如何实现? 无论是用户注册后的验证邮件,还是订单处理的通知邮件,都需要一个可靠的邮件发送机制。AokSend将详细介绍如何在ThinkPHP框架中配置邮件发送功能,并带您逐步了解其中…

JavaScript常见面试题(一)

文章目录 1. JavaScript有哪些数据类型,它们的区别?2.数据类型检测的方式有哪些3. 判断数组的方式有哪些4.null和undefined区别5.typeof null 的结果是什么,为什么?6.intanceof 操作符的实现原理及实现7.为什么0.10.2 ! 0.3&…

【Go语言】Gin 框架教程

Gin 框架教程 1.第一个 Gin 程序 1.1 Gin 安装 # 执行执行如下操作即可,安装Gin前需要安装Go环境 go get -u -v github.com/gin-gonic/gin # -v:打印出被构建的代码包的名字 # -u:已存在相关的代码包,强行更新代码包及其依赖包…

转让中字头控股集团公司步骤和条件

随着中国经济的不断发展,越来越多的企业开始积极寻求并购和收购机会。其中,国家总局中字头控股集团公司也是一个备受关注的对象。本篇文章将为您详细介绍国家总局中字头控股集团公司的收购流程及要求。详情致电咨询我或者来公司面谈。 中字头公司转让需满…

[DDR4] DDR4 相对 DDR3差异与优势

依公知及经验整理,原创保护,禁止转载。 传送门: 总目录 1 差异总览 出处: https://www.kingston.com.cn/en/memory/ddr4-overview Description 描述DDR3DDR4Advantage 优势电压1.5V1.2V降低内存功耗需求容量512Mb-8Gb4Gb-16Gb更大的 DIMM 容…

AI 定位!GeoSpyAI上传一张图片分析具体位置 不可思议! ! !

🏡作者主页:点击! 🤖常见AI大模型部署:点击! 🤖Ollama部署LLM专栏:点击! ⏰️创作时间:2024年6月16日12点23分 🀄️文章质量:94分…

快速UDP网络连接之QUIC协议介绍

文章目录 一、QUIC协议历史1.1 问题:QUIC为什么在应用层实现1.2 QUIC协议相关术语1.3 QUIC和TCP对比1.4 QUIC报文格式1.4.1 QUIC报文格式-Stream帧11.4.2 QUIC报文格式-Stream帧2 二、QUIC的特点2.1 连接建立低时延,2.2 多路复用流复用-HTTP1.1流复用-HT…

【OS基础】符合AUTOSAR标准的RTAOS-Alarms详解

目录 前言 正文 7.报警Alarms 7.1配置Alarms 7.1.1激活一个任务 7.1.2 设置一个事件 7.1.3报警回调Alarm Callback 7.1.4 增加计数器值 7.2设置Alarms 7.2.1 绝对Alarms 7.2.2 相对Alarm 7.3自启动Alarms 7.4 删除Alarms 7.5确认何时会发生Alarm 7.6非周期Alarm…

EMQX集群搭建

1. 什么是 MQTT? MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、…

DETR实现目标检测(一)-训练自己的数据集

1、DETR架构 DETR(Detection Transformer)是一种新型的目标检测模型,由Facebook AI Research (FAIR) 在2020年提出。DETR的核心思想是将目标检测任务视为一个直接的集合预测问题,而不是传统的两步或多步预测问题。这种方法的创新…

FPGA IO_BANK、IO_STANDARD

描述 Xilinx 7系列FPGA和UltraScale体系结构提供了高性能(HP)和 高范围(HR)I/O组。I/O库是I/O块(IOB)的集合,具有可配置的 SelectIO驱动程序和接收器,支持多种标准接口 单端和差分。…

vxe-table表格新增节点

做前端的朋友可以参考下&#xff1a;也可结合实际需求查看相应的官方文档 效果图 附上完整代码 <template><div><vxe-toolbar ref"toolbarRef" :refresh"{queryMethod: searchMethod}" export print custom><template #buttons>&…

React写一个 Modal组件

吐槽一波 最近公司的项目终于度过了混乱的前期开发&#xff0c;现在开始有了喘息时间可以进行"规范"的处理了。 组件的处理&#xff0c;永远是前端的第一大任务&#xff0c;尤其是在我们的ui库并不怎么可靠的情况下&#xff0c;各个组件的封装都很重要&#xff0c;而…