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

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

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

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

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

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

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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🌵文章目录🌵

  • 🔍 一、np.trunc() 初探
  • 🚀 二、np.trunc() 进阶技巧
  • 📈 三、np.trunc() 在数据分析中的应用
  • 💡 四、从 np.trunc() 看 Numpy 的设计哲学
  • 🌱 五、其他类似的Numpy函数
  • 🔍 六、举一反三:自定义截断函数
  • 🚀 七、总结与展望

下滑即可查看博客内容

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

🔍 一、np.trunc() 初探

  在Numpy库中,np.trunc()函数是一个用于处理浮点数的强大工具。这个函数会返回每个元素的整数部分,忽略小数部分,无论这些元素是正数、负数还是零。下面我们来详细了解一下这个函数的基础用法。

import numpy as np# 创建一个包含浮点数的Numpy数组
arr = np.array([1.23, -2.45, 0.67, -0.89, 5.0])# 使用 np.trunc() 函数
truncated_arr = np.trunc(arr)# 打印原始数组和截断后的数组
print("原始数组:", arr)
print("截断后的数组:", truncated_arr)

运行上面的代码,你会看到np.trunc()函数将每个浮点数的小数部分截去,只保留了整数部分。

🚀 二、np.trunc() 进阶技巧

  除了基础用法外,np.trunc()函数还有一些进阶的使用技巧。比如,它可以处理多维数组,并且可以通过设置out参数来指定输出数组。

# 创建一个二维浮点数组
arr_2d = np.array([[1.1, 2.2], [3.3, 4.4], [5.5, 6.6]])# 使用 np.trunc() 函数处理二维数组
truncated_arr_2d = np.trunc(arr_2d)# 创建一个预先分配好的数组来接收结果
out_arr = np.empty_like(arr_2d)
truncated_arr_2d_out = np.trunc(arr_2d, out=out_arr)# 打印结果
print("二维数组截断后的结果:", truncated_arr_2d)
print("使用 out 参数的结果:", truncated_arr_2d_out)

在上面的代码中,np.trunc()函数成功地处理了二维数组,并通过out参数将结果存储在了预先分配好的数组中。

📈 三、np.trunc() 在数据分析中的应用

  在数据分析中,np.trunc()函数经常用于处理需要保留整数部分的场景。例如,在处理股票价格、销售量等数据时,我们可能只需要整数部分来表示价格或数量。

# 假设我们有一个包含股票价格的数组
stock_prices = np.array([105.23, 201.45, 150.67, 89.99, 305.0])# 我们只关心整数部分的股票价格
truncated_prices = np.trunc(stock_prices)# 打印原始价格和截断后的价格
print("原始股票价格:", stock_prices)
print("截断后的股票价格:", truncated_prices)

在这个例子中,np.trunc()函数帮助我们快速地得到了只包含整数部分的股票价格。

💡 四、从 np.trunc() 看 Numpy 的设计哲学

  np.trunc()函数是Numpy库中众多优秀函数之一,它体现了Numpy的设计哲学。Numpy是一个专注于数值计算的库,它提供了大量的函数和工具来处理数组和矩阵运算。这些函数和工具不仅功能强大,而且易于使用。

  np.trunc()函数作为Numpy库中的一个函数,也体现了这种设计哲学。它简单易用,能够快速地对数组中的每个元素进行截断操作。同时,它还可以处理多维数组,并支持out参数等高级用法。这些特点使得np.trunc()函数在数据分析、科学计算等领域得到了广泛的应用。

🌱 五、其他类似的Numpy函数

  除了np.trunc()函数外,Numpy库中还有许多类似的函数用于处理数组中的数值。例如,np.floor()函数可以返回不大于输入值的最大整数(向下取整),np.ceil()函数可以返回不小于输入值的最小整数(向上取整),np.round()函数则可以根据指定的精度对数组中的元素进行四舍五入操作。

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

🔍 六、举一反三:自定义截断函数

  除了使用Numpy库中的np.trunc()函数外,我们还可以基于它的原理自定义一个截断函数。这样做可以让我们更加深入地理解截断操作的原理,并且可以根据实际需求进行灵活的调整。

下面是一个简单的自定义截断函数的示例:

def custom_trunc(arr):"""自定义截断函数,将数组中的每个元素截断为整数部分。参数:arr (np.ndarray): 输入的Numpy数组返回:np.ndarray: 截断后的Numpy数组"""return np.array([int(x) for x in arr])# 创建一个包含浮点数的Numpy数组
arr = np.array([1.23, -2.45, 0.67, -0.89, 5.0])# 使用自定义截断函数
truncated_arr_custom = custom_trunc(arr)# 打印原始数组和自定义截断后的数组
print("原始数组:", arr)
print("自定义截断后的数组:", truncated_arr_custom)

  在上面的代码中,我们定义了一个名为custom_trunc的函数,它接受一个Numpy数组作为输入,并使用列表推导式将数组中的每个元素转换为整数。然后,我们创建了一个包含浮点数的Numpy数组,并使用自定义的custom_trunc函数对其进行截断操作。最后,我们打印了原始数组和自定义截断后的数组。

  自定义截断函数的好处在于它可以根据我们的具体需求进行灵活的修改。例如,我们可以很容易地将截断规则修改为向上取整或向下取整,只需在列表推导式中使用math.ceil()math.floor()函数即可。

🚀 七、总结与展望

  通过本文的介绍,我们详细了解了np.trunc()函数的基础用法、进阶技巧以及在数据分析中的应用。同时,我们还从np.trunc()函数出发,探讨了Numpy库的设计哲学,并介绍了其他类似的Numpy函数。最后,我们还通过自定义截断函数的示例,展示了如何基于Numpy库中的函数进行扩展和定制。

  在未来的学习和工作中,我们可以继续深入学习Numpy库中的其他函数和工具,掌握更多的数据处理和分析技能。同时,我们也可以通过自定义函数和类的方式,扩展Numpy库的功能,满足特定的需求。通过不断地学习和实践,我们可以逐渐成为数据处理和分析领域的专家,为社会的发展做出更大的贡献。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[数据集][目标检测]中国象棋检测数据集VOC+YOLO格式300张12类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):300 标注数量(xml文件个数):300 标注数量(txt文件个数):300 标注类别…

Django后台忘记管理员的账号

使用命令启动项目: python manage.py runserver输入后缀/admin,进入后台管理员,如果此时忘记你先前设置的用户名与密码怎么办? 终端输入: python manage.py shell 输入以下内容,并查看返回结果&#xff…

用【R语言】揭示大学生恋爱心理:【机器学习】与【深度学习】的案例深度解析

目录 第一部分:数据收集与预处理 1.1 数据来源 1.2 数据清洗 1.3 数据探索性分析 第二部分:特征工程与数据准备 2.1 特征选择 2.2 特征提取 第三部分:机器学习模型 3.1 逻辑回归模型 3.2 决策树模型 第四部分:深度学习…

ui自动化中,隐式等待和显示等待什么时候使用

隐式等待 在页面刷新加载时,页面元素还没有出来,这个时候如果去找元素就会找不到报错 或者点了一个菜单,页面加载时 用笨办法,就是用sleep等待固定的时间,这种浪费的时间比较多,就可以用隐式等待&#xf…

美业门店管理系统Java源码分享-【库存管理】的功能和作用

美业收银系统在美容行业中的作用和重要性体现在提高管理效率、提升客户满意度、降低成本、促进业务增长等方面。它为连锁美业提供了一个全面的管理工具,能够更好地应对市场挑战,提升竞争力。 美业系统中的【库存管理】在整个美容行业中起着非常重要的作…

【SpringCloud学习笔记】RabbitMQ(中)

1. 交换机概述 前面《RabbitMQ上篇》我们使用SpringAMQP来演示如何用Java代码操作RabbitMQ,当时采用的是生产者直接将消息发布给队列,但是实际开发中不建议这么多,更加推荐生产者将消息发布到交换机(exchange),然后由exchange路由…

护眼台灯攻略:护眼台灯真的有用吗?

当前,近视问题在人群中愈发普遍,据2024年的统计数据显示,我国儿童青少年的总体近视率已高达52.7%。近视的人越来越多,近视背后还潜藏着视网膜脱离、白内障、开角型青光眼等眼部疾病,严重的情况甚至可能引发失明。长时间…

P3388 【模板】割点(割顶)

题目背景 割点 题目描述 给出一个 n 个点,m 条边的无向图,求图的割点。 输入格式 第一行输入两个正整数 n,m。 下面 m 行每行输入两个正整数 x,y 表示 x 到 y 有一条边。 输出格式 第一行输出割点个数。 第二行按照节点编号从小到大输出节点&am…

CNAS认证是什么?怎么做?

在全球化日益深入的今天,产品质量和安全已经成为企业生存和发展的重要基石。而在这个过程中,CNAS认证作为一种权威性的认可机制,发挥着不可替代的作用。那么,CNAS认证究竟是什么?我们又该如何进行这一认证过程呢&#…

【MySQL】表的基本增删查改(结合案例)

文章目录 1.前言2.插入数据(Create)2.1案例2.2单行数据全列插入2.3多行数据指定列插入2.4插入否则更新2.5替换 3. 读取数据(Retireve)3.1案例3.2全列查询3.3指定列查询3.4查询字段为表达式3.5为查询结果起别名3.6去重3.7where条件3.7.1案例 3.8排序3.9筛…

算法刷题【二分法】

题目: 注意题目中说明了数据时非递减的,那么这样就存在二分性,能够实现logn的复杂度。二分法每次只能取寻找特定的某一个值,所以我们要分别求左端点和有端点。 分析第一组用例得到结果如下: 成功找到左端点8 由此可知&#xff0…

[数据集][目标检测]胸部解剖检测数据集VOC+YOLO格式100张10类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):100 标注数量(xml文件个数):100 标注数量(txt文件个数):100 标注类别…

环境监控与管理平台

随着全球气候变化的日益严峻,环境监控与管理成为了当代社会不可或缺的重要任务。HiWoo Cloud平台,作为一款环境监控与管理平台,正以其卓越的性能、强大的功能和灵活的部署方式,为各行各业的环保事业提供强有力的技术支撑。 一、H…

被封号后,我终于明白免费代理的危害

在数字时代,网络已经成为人们日常生活和商业活动中不可或缺的一部分。为了实现更广阔的业务拓展和更畅通的网络体验,许多人开始考虑使用代理服务器。然而,虽然免费代理可能听起来像是个经济实惠的选择,但事实上,它可能…

CTFHUB-SQL注入-Cookie注入

由于本关是cookie注入,就不浪费时间判断注入了,在该页面使用 burp工具 抓包,修改cookie后面,加上SQL语句,关掉burp抓包,就可以在题目页面显示结果了 判断字段数量 发现字段数量是2列 使用id-1 union sele…

君子签帮助物流组织打造线上签约平台,助力简化成本,高效运转

各类物流组织日常业务可能涉及“企业入驻、快递、整车运输、货运、仓储、供应链等”多种类型,各个环节都存在大量的文件/单据签署,网点、客户、司机、收货人遍布全国各地,复杂的签署需求,以及庞大的签字、用印需求,让各…

数据通信与网络

计算机网络的组成 计算机网络是由计算机系统、网络节点和通信链路等组成的系统。 逻辑上分为资源子网和通信子网。 CCP:communication control processor 通信控制处理机,网络节点,交换机、路由器等设备。 逻辑组成: &#xf…

数据结构——02-算数表达式-栈-实验题目分享

一、实验题目 算数表达式计算: 设计算法根据用户输入的合法表达式计算结果并显示出来 表达式中的符号为、-、*、/、(、) 表达式中数字为整数 二、实验环境 Windows 11 Visual Studio Code (总体代码在最后) 三…

论文笔记:ATime-Aware Trajectory Embedding Model for Next-Location Recommendation

Knowledge and Information Systems, 2018 1 intro 1.1 背景 随着基于位置的社交网络(LBSNs),如Foursquare和Facebook Places的日益流行,大量用户签到数据变得可用 这些大量签到数据的可用性带来了许多有用的应用,以…

kotlin类型检测与类型转换

一、is与!is操作符 1、使用 is 操作符或其否定形式 !is 在运行时检测对象是否符合给定类型。 fun main() {var a "1"if(a is String) {println("a是字符串类型:${a.length}")}// 或val b a is Stringprintln(b) } 二、"不安全的"转换操作符…