day03-numpy数据类型

news2025/2/26 1:42:39

numpy数据类型

名称描述名称描述
bool_布尔型数据类型(True 或者 False)float_float64 类型的简写
int_默认的整数类型(类似于 C 语言中的 long,int32 或 int64)float16/32/64半精度浮点数:1 个符号位,5 个指数位,10个尾数位 单精度浮点数:1 个符号位,8 个指数位,23个尾数位 双精度浮点数,包括:1 个符号位,11 个指数位,52个尾数位
intc和 C 语言的 int 类型一样,一般是 int32 或 int 64complex_复数类型,与 complex128 类型相同
intp用于索引的整数类型(类似于 C 的 ssize_t,通常为 int32 或 int64)complex64/128复数,表示双 32 位浮点数(实数部分和虚数部分) 复数,表示双 64 位浮点数(实数部分和虚数部分)
int8/16/32/64代表与1字节相同的8位整数 代表与2字节相同的16位整数 代表与4字节相同的32位整数 代表与8字节相同的64位整数str_表示字符串类型
uint8/16/32/64代表1字节(8位)无符号整数 代表与2字节相同的16位整数 代表与4字节相同的32位整数 代表与8字节相同的64位整数string_表示字节串类型,也就是bytes类型
#将数组中的类型存储为浮点型,
a = np.array([1,2,3,4],dtype=np.flaot64)
#a为:array([1., 2., 3., 4.])
#将数组中的类型存储为布尔类型
a = np.array([0,1,2,3,4],dtype=np.bool_)

numpy中数据类型 ’ str_ ‘和’ string_ ’ 的区别

numpy.str_:

  • numpy.str_ 是一个 NumPy 特有的数据类型,它对应于 Python 的内建字符串类型 str
  • 它表示的是一种定长的字符串数据类型,通常用于表示单个字符或较短的字符串。
  • 当你使用 numpy.str_ 时,NumPy 会使用 Python 的字符串类型来存储和处理这些字符串

numpy.string_:

  • numpy.string_ 是另一个用于表示字符串的数据类型,但它更接近于 C 语言中的字符串数组(字符数组)。
  • numpy.string_ 通常用于表示定长的字节字符串,可以用于处理较长的字符串或需要固定长度的字符串。
  • 它对应于 NumPy 的 S 类型,例如 S10 表示长度为 10 的字节字符串。
  • 它适合于需要进行低级别字符操作或者与C/C++代码交互的情况

简单来说

numpy.str_ 更接近于 Python 的内建字符串类型,用于表示 Unicode 字符串。

numpy.string_ 更接近于 C 语言中的字符串数组,用于表示定长的字节字符串。

自定义结构化数据

使用数据类型标识码

字符对应类型字符对应类型字符对应类型字符对应类型
b代表布尔型i带符号整型u无符号整型f浮点型
c复数浮点型m时间间隔(timedelta)Mdatatime(日期时间)OPython对象
S,a字节串(S)与字符串(a)UUnicodeV原始数据(void)

还可以将两个字符作为参数传给数据类型的构造函数。此时,第一个字符表示数据类型, 第二个字符表示该类型在内存中占用的字节数(2、4、8分别代表精度为16、32、64位的 浮点数)

i1表示8位字节的整型。

#首先创建结构化数据类型
dt = np.dtype([('age','i1')]) #创建了名为age这种数据类型在内存中的存储格式为int8。
print(dt)
#将数据类型应用于ndarray对象
students = np.array([(18),(19),dtype = dt])
print(students,students.dtype,students.ndim)
print(students['age'])
dt = np.dtype([('age','U1')]) #名为age这种数据类型在内存中的存储格式为Unicode8。
print(dt)
# 将数据类型应用于 ndarray 对象
students = np.array([("我们"),(128)],dtype=dt)
print(students,students.dtype,students.ndim)
print(students['age'])

[('age', '<U1')]
[('我',) ('1',)] [('age', '<U1')] 1
['我' '1']

以下示例描述一位老师的姓名、年龄、工资的特征,该结构化数据其包含以下字段:

str 字段:name
int 字段:age
float 字段:salary
teacher = np.dtype([('name',np.str_,2),('aege','i1'),('salary','f4')])
#说明,第一个数据类型name,使用np.str_的存储格式,占用2个字节,第二个age...

#将其应用于ndaray对象
b = np.array([('w1',41,4564.2),
              ('si',32,3564)],dtype = teacher)

print(b)
print(b['name'])
print(b['age'])
[('w1', 41, 4564.2) ('si', 32, 3564. )]
['w1' 'si']
[41 32]

在这里插入图片描述

注意超过范围后如何变化,记忆就想时钟

2.字符串的长度

  • .定长
#创建字符串时取其中元素最大长度
a = np.array(['a','ab','abc','我','你哦得到','12345'],dtype = np.str_)
print(a)

a[1] = '123456'
print(a)

则所有元素存储时为U5存储,修改时不会存储超过定义时的内存大小,超过的舍去

  • 不定长
a = np.array(['a','ab'],dtype = object)
print(a)

a[1] = 'ojijij'  #可变

定长不灵活效率高
可变长度灵活效率低

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

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

相关文章

Day64 代码随想录打卡|回溯算法篇---组合总和

题目&#xff08;leecode T39&#xff09;&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 …

Vulnhub靶场DC-5练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 利用burpsuite爆破文件包含的参数2. 文件包含3. nginx日志挂马4. 反弹shell5.漏洞利用和提权 0x04 总结 0x00 准备 下载链接&#xff1a;https://download.vulnhub.com/dc/DC-5.zip 介绍&#xff1a; …

论文学习——基于类型检测的动态自适应多目标优化算法

论文题目&#xff1a;Dynamic adaptive multi-objective optimization algorithm based on type detection 基于类型检测的动态自适应多目标优化算法&#xff08;Xingjuan Cai a,b, Linjie Wu a,∗, Tianhao Zhao a, Di Wu c, Wensheng Zhang d, Jinjun Chen e&#xff09;Inf…

经典链表算法题:找到环的入口。清晰图示推导出来

Leetcode题目链接 原理 重画链表如下所示&#xff0c;线上有若干个节点。记蓝色慢指针为 slow&#xff0c;红色快指针为 fast。初始时 slow 和 fast 均在头节点处。 使 slow 和 fast 同时前进&#xff0c;fast 的速度是 slow 的两倍。当 slow 抵达环的入口处时&#xff0c;如…

doc文档下载

目录 下载 安装谷歌浏览器(chrome)Microsoft Edge浏览器 常见问题 下载 见邮件附件 安装 谷歌浏览器(chrome) 打开浏览器&#xff0c;地址栏输入&#xff1a;chrome://extensions/ 右上角打开开发者模式 点击如上图左上角的加载已解压的拓展程序&#xff0c;并选择刚刚解压…

【不锈钢酸退作业区退火炉用高温辐射计快速安装】

项目名称 不锈钢酸退作业区退火炉用高温辐射计快速安装 改造实施项目简介项目提出前状况:不锈钢生产过程中,各种型号的不锈钢带钢在退火工艺中对带钢温度的准确性要求很高,带钢温度的检测直接影响带钢的产品质量,不锈钢带钢温度测量依靠的是高温辐射计,其测量的准确性、稳…

YOLOv8入门 | 重要性能衡量指标、训练结果评价及分析及影响mAP的因素【发论文关注的指标】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

【Python画图-驯化seaborn】一文搞懂seaborn中的小提琴图实践、技巧、原理

【Python画图-驯化seaborn】一文搞懂seaborn中的小提琴图实践、技巧、原理 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内容…

【信息学奥赛】CSP-J/S初赛06 算法基础及时间/空间复杂度等问题

本专栏👉CSP-J/S初赛内容主要讲解信息学奥赛的初赛内容,包含计算机基础、初赛常考的C++程序和算法以及数据结构,并收集了近年真题以作参考。 如果你想参加信息学奥赛,但之前没有太多C++基础,请点击👉专栏:C++语法入门,如果你C++语法基础已经炉火纯青,则可以进阶算法…

ScrollView组件No exact matches in call to initializer

在scrollview中使用text后报错&#xff0c;水平滚动使用的话&#xff0c;应该里面包含一个水平布局的组件&#xff0c;例如HStack组件&#xff0c;可以设置ScrollView滚动方向为 .horizontal或者 .vertical // 左右滑动ScrollView(.horizontal, showsIndicators: false) {HSt…

@amap/amap-jsapi-loader实现高德地图嵌入React项目中,并且做到点击地图任意一处,获得它的经纬度

1.第一步要加入项目package.json中或者直接yarn install它都可以 想必大家应该都会 "amap/amap-jsapi-loader": "0.0.7"2.加入项目中 关于接口获取key的接口 大家改成自己对应的项目请求方法 import React, { PureComponent } from react; import { Input…

MFC+MySQL应用:配置

MFCMySQL 1. MFC UI界面生成2. 数据库和表生成创建数据库创建表添加表数据 3. VS中配置MySQL环境 1. MFC UI界面生成 链接: MFC使用方法 可以根据用户自身需求生成单文档、对话框等不同样式的UI界面。 2. 数据库和表生成 可以在workbench或者MySQL Server中创建数据库和表。…

户用分布式光伏项目开发模式

随着全球对可再生能源的重视和技术的不断进步&#xff0c;分布式光伏发电作为一种清洁、高效、可再生的能源形式&#xff0c;正逐渐成为新能源发展的重要方向。户用分布式光伏项目&#xff0c;作为分布式光伏发电的重要组成部分&#xff0c;其开发模式对于推动光伏产业的普及与…

【前端知识】一篇速成 建议收藏

HTML基础概念 正式敲代码之前呢,我们先来看几个概念: 0 静态网页和动态网页 静态网页: 页面的内容和显示效果就基本上不会发生变化了--除非你修改页面代码。 动态网页: 页面代码虽然没有变&#xff0c;但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的…

Another Redis Desktop Manager工具自定义解析数据

自定义解析数据,支持多种程序终端输出 /Users/admin/go/src/baobao_all/ws_server/baobao/main_test/encipher_tool_redis/redis_tool {VALUE}/bin/bash -c "/Users/admin/Downloads/redis_tool {VALUE}"写个go程序解析数据 package mainimport ("encoding/jso…

LLM大模型RAG技术

在人工智能领域&#xff0c;大模型RAG技术&#xff08;Retrieval-Augmented Generation&#xff09;已成为近年来研究的热点。它结合了检索和生成两大关键技术&#xff0c;为自然语言处理任务带来了革命性的进步。本文将带领大家深入了解大模型RAG技术的全流程&#xff0c;让你…

2024年过半,新能源车谁在掉链子?

2024年过半之际&#xff0c;各品牌上半年的销量数据也相继出炉&#xff0c;是时候考察今年以来的表现了。 理想和鸿蒙智行两大增程霸主占据头两名&#xff0c;仍处于焦灼状态&#xff1b;极氪和蔚来作为高端纯电品牌紧随其后&#xff0c;两者之间差距很小&#xff1b;零跑和哪…

CD4017 – 带解码输出的十进制计数器

CD4017 IC 是一个十进制计数器&#xff0c;它有 10 个输出&#xff0c;分别代表 0 到 9 的数字。计数器在&#xff08;14号引脚&#xff09;每个时钟脉冲上升时增加 1。计数器达到 9 后&#xff0c;它会在下一个时钟脉冲时从 0 重新开始。 引脚名称管脚 &#xff03;类型描述VD…

windows非白名单exe监控并杀死

需求&#xff1a;孩子在家用电脑上网课&#xff0c;总是悄悄打开游戏或视频软件 方案&#xff1a;指定白名单exe&#xff0c;打开非白名单的就自动被杀死&#xff0c;并记录日志供查看 不知道是否还有更好的结果方案&#xff1f; import psutil import time import logging#…

【MATLAB源码-第139期】基于matlab的OFDM信号识别与相关参数的估计,高阶累量/小波算法调制识别,循环谱估计,带宽估计,载波数目估计等等。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 在现代无线通信系统中&#xff0c;正交频分复用&#xff08;OFDM&#xff09;因其高效的频谱利用率、强大的抗多径衰落能力以及灵活的带宽分配等优势&#xff0c;成为了一种非常重要的调制技术。然而&#xff0c;随着无线通信…