Numpy数据类型对象(dtype)

2023-10-27

常用方法

#记住引入numpy时要是用别名np,则所有的numpy字样都要替换
 #查询数值类型
>>>type(float)
dtype('float64')
# 查询字符代码
>>> dtype('f')
dtype('float32')
>>> dtype('d')
dtype('float64')
# 查询双字符代码
>>> dtype('f8')
dtype('float64')
# 获取所有字符代码
>>> sctypeDict.keys()
[0, … 'i2', 'int0']

# char 属性用来获取字符代码
>>> t = dtype('Float64')
>>> t.char
'd'
# type 属性用来获取类型
>>> t.type
<type 'numpy.float64'>

# str 属性获取完整字符串表示
# 第一个字符是字节序,< 表示小端,> 表示大端,| 表示平台的字节序
>>> t.str
'<f8'

# 获取大小
>>> t.itemsize
8

# 许多函数拥有 dtype 参数
# 传入数值类型、字符代码和 dtype 都可以
>>> arange(7, dtype=uint16)
array([0, 1, 2, 3, 4, 5, 6], dtype=uint16)

类型参数及缩写

类型 字符代码
bool ?, b1
int8 b, i1
uint8 B, u1
int16 h, i2
uint16 H, u2
int32 i, i4
uint32 I, u4
int64 q, i8
uint64 Q, u8
float16 f2, e
float32 f4, f
float64 f8, d
complex64 F4, F
complex128 F8, D
str a, S(可以在S后面添加数字,表示字符串长度,比如S3表示长度为三的字符串,不写则为最大长度)
unicode U
object O
void V

自定义异构数据类型

基本书写格式

import numpy
#定义t的各个字段类型
>>> t = dtype([('name', str, 40), ('numitems', numpy.int32), ('price',numpy.float32)])
>>> t
dtype([('name', '|S40'), ('numitems', '<i4'), ('price','<f4')])

# 获取字段类型
>>> t['name']
dtype('|S40')

# 使用记录类型创建数组
# 否则它会把记录拆开
>>> itemz = array([('Meaning of life DVD', 42, 3.14), ('Butter', 13,2.72)], dtype=t)
>>> itemz[1]
('Butter', 13, 2.7200000286102295)
#再举个例*
>>>adt = np.dtype("a3, 3u8, (3,4)a10")  #3字节字符串、3个64位整型子数组、3*4的10字节字符串数组,注意8为字节
>>>itemz = np.array([('Butter',[13,2,3],[['d','o','g','s'],['c','a','t','s'],['c','o','w','s']])],dtype=adt)
>>>itemz
(b'But', [13,  2,  3], [[b'd', b'o', b'g', b's'], [b'c', b'a', b't', b's'], [b'c', b'o', b'w', b's']])

其他书写格式

#(flexible_dtype, itemsize)第一个大小不固定的参数类型,第二传入大小:
>>> dt = np.dtype((void, 10))  #10位
>>> dt = np.dtype((str, 35))   # 35字符字符串
>>> dt = np.dtype(('U', 10))   # 10字符unicode string

#(fixed_dtype, shape)第一个传入固定大小的类型参数,第二参数传入个数
>>> dt = np.dtype((np.int32, (2,2)))          # 2*2int子数组
举例: >>>item = np.array([([12,12],[55,56])], dtype=dt)
array([[12, 12], [55, 56]])
>>> dt = np.dtype(('S10', 1))                 # 10字符字符串
>>> dt = np.dtype(('i4, (2,3)f8, f4', (2,3))) # 2*3结构子数组

#[(field_name, field_dtype, field_shape), …]
>>> dt = np.dtype([('big', '>i4'), ('little', '<i4')])
>>> dt = np.dtype([('R','u1'), ('G','u1'), ('B','u1'), ('A','u1')])

#{‘names’: …, ‘formats’: …, ‘offsets’: …, ‘titles’: …, ‘itemsize’: …}:
>>> dt= np.dtype({'names':('Date','Close'),'formats':('S10','f8')})
>>> dt = np.dtype({'names': ['r','b'], 'formats': ['u1', 'u1'], 'offsets': [0, 2],'titles': ['Red pixel', 'Blue pixel']})

#(base_dtype, new_dtype):
>>>dt = np.dtype((np.int32, (np.int8, 4)))  //base_dtype被分成4个int8的子数组
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Numpy数据类型对象(dtype) 的相关文章

随机推荐

  • Java项目:博客系统西瓜社区(springboot+mybatis-plus+thymeleaf)

    西瓜社区文档 项目全部源码百度网盘地址在文档中 仔细阅读就可发现 前端 社区目前基于开源的markdown框架editorme进行开发的问答和博客的两个功能 后端 springboot mybatis plus swagger2 thyme
  • 记Springboot项目中@Service(或@Component)注解失效的问题解决方法

    一 问题描述 今天基于SpringBoot写好的一个项目程序 启动时 报如下错误 2020 04 07 14 04 41 420 WARN o s b w s c AnnotationConfigServletWebServerApplic
  • 预测数值型数据:回归

    本文传送机 用线性回归找到最佳拟合直线 局部加权线性回归 通过缩减系数来 理解 数据 岭回归 lasso 前向逐步回归 用线性回归找到最佳拟合直线 线性回归 优点 结果易于理解 计算上不复杂 缺点 对非线性的数据拟合不好 适用数据类型 数值
  • 使用WIFI连接新大陆云平台(基于RT_Thread操作系统)

    前言 使用RT Thread Studio 连接WIFI 首先我们需要配置WIFI 具体的配置参考上面这篇文章 下面将会讲述使用WIFI连接到新大陆云平台 相关的AT指令 1 设置WIFI为Station模式 AT CWMODE 1 2 重
  • 拜托!别再问我hashmap是否线程安全

    拜托 别再问我hashmap是否线程安全 一 糟糕的面试 面试官 小王 你说说HashMap的是线程安全的吗 小王 HashMap不安全 在多线程下 会出现线程安全问题 他兄弟HashTable 线程是安全的 但是出于性能考虑 我们往往会选
  • 刷脸支付商家更有针对性地与目标群体互动

    现在我们外出买东西付款 已经有了非常便捷的扫码支付功能 这个功能不仅是年轻人喜欢使用 就连中老年人也跟上的时代的步伐 许多超市 便利店已经菜市场 都能够看到二维码的身影 但是随着时代不断地进步 扫码付款这一新兴方式 接二连三地被曝出许多风险
  • 文本分类流程及可能遇到的问题

    文本分类整体流程及可能遇到的问题 文本分类是一个常见的任务 垃圾邮件分类 评论情感极性分析 舆情分析 新闻分类等等 在网上随便搜索都会出现满屏的解决方案和已有模型 在工作或学习中 接到一个分类任务 可能我们就直接套用已有的模型 方法开始尝试
  • VMWare 虚拟机Ubuntu 22-04系统无法联网,右上角网络图标消失,ifconfig无法获取网络ip

    今天2022年09月18日 一个悲伤的日子 一个大家不能忘记的日子 为了国家强盛 今天周日过来加个班 今天 在Ubuntu linux虚拟机中配置了一些东西 结果把网络搞没了 右上角图标也没了 搜了许多文章 又是重启网络的 重启网络报错 u
  • 智能工厂中,MES管理系统数据采集的方式有哪些

    在工业领域 制造企业的数字化转型正在如火如荼地进行 智能和工业互联网的应用也在加速推进 在这个过程中 工控系统软硬件发挥着关键作用 工控系统涵盖了可编程逻辑控制器 PLC 数据采集与监控系统 SCADA 和分布式控制系统 DCS PLC通常
  • Python 缓存库

    文章目录 缓存库 缓存库的类型 Python中有用的缓存库 Python中的Redis缓存库 Python中的lru cache库 Python中的其他缓存库 总结 缓存是一种可以存储数据以供快速访问的内存类型 它是一个小而快速的内存 用于
  • 图的邻接矩阵

    邻接矩阵 是表示顶点之间相邻关系的矩阵 设G V E 是一个图 其中V v1 v2 vn G的邻接矩阵是一个具有下列性质的n阶方阵 对无向图而言 邻接矩阵一定是对称的 而且主对角线一定为零 在此仅讨论无向简单图 副对角线不一定为0 有向图则
  • Python中enumerate用法详解

    enumerate的意思即为枚举 列举 一句话来说 enumerate的作用就是对可迭代的数据进行标号并将其里面的数据和标号一并打印出来 看一下enumerate的函数 描述 enumerate 函数用于将一个可遍历的数据对象 如列表 元组
  • ElasticSearch Python Client ReadTimeout

    ElasticSearch Python Client ReadTimeout ElasticSearch Python Client API Bulk操作时 当ElasticSearch服务端的性能不足时 Client可能会超时 打印类似
  • 链表—C语言链表中数据域是结构体该如何操作

    链表是数据结构中的首先接触到的 常规的链表数据域为int型 如果链表中数据域是一个结构体该如何操作呢 首先看一个例子 定义一个学生结构体 然后用单向链表保存学生信息 由scanf输入学生信息后形成链表 再打印出所有学生信息 include
  • shell编程之if判断

    目录 一 格式 1 格式1 2 格式2 3 格式3 二 注意 三 例子 1 判断两个数是否相等 2 判断两个数中的最大值 一 格式 1 格式1 if 判断条件 then 判断为true执行的代码 fi 2 格式2 if 判断条件 then
  • Java 的七种垃圾收集器

    了解 Java 中的内存管理 用 C 或 C 这样的编程语言写一个应用时 需要编写代码来销毁内存中不再需要的对象 当应用程序扩展得越来越复杂时 未使用对象被忽略释放的可能性就越大 这会导致内存泄露 最终内存耗尽 在某个时刻将没有更多的内存可
  • Qt串口通信接收数据不完整的解决方法

    在使用串口接收数据时 当数据量大的时候会出现数据接收不完整的情况 因为串口数据获取函数readAll 由readyRead 信号触发 但readyRead 信号在串口读到起始标志时立即发送 并不保证一定是当前所发数据的起始部分 因此串口通信
  • SpringBoot2.x 集成Activiti6.0

    任务要求 集成Activiti6 0 流程引擎开发环境 核心依赖pom文件如下
  • VIM列编辑

    有时候需要多行编辑 例如注释多行代码 或者取消注释 虽然有插件支持 但插件不能插入特殊的字符 此时可以借助vim的列编辑模式 可以允许同时编辑多行 具体的操作如下 在normal模式下按ctrl v进入列编辑模式 通过hjkl选中编辑的区域
  • Numpy数据类型对象(dtype)

    常用方法 记住引入numpy时要是用别名np 则所有的numpy字样都要替换 查询数值类型 gt gt gt type float dtype float64 查询字符代码 gt gt gt dtype f dtype float32 gt