关于Numpy数据类型对象(dtype)使用详解


Posted in Python onNovember 27, 2019

常用方法

#记住引入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的子数组

以上这篇关于Numpy数据类型对象(dtype)使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用md5sum检查目录中相同文件代码分享
Feb 02 Python
python输出当前目录下index.html文件路径的方法
Apr 28 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
Python创建xml文件示例
Mar 22 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
一百行python代码将图片转成字符画
Feb 19 Python
Python第三方库h5py_读取mat文件并显示值的方法
Feb 08 Python
【python】matplotlib动态显示详解
Apr 11 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
python 爬虫如何实现百度翻译
Nov 16 Python
python队列原理及实现方法示例
Nov 27 #Python
Python numpy.zero() 初始化矩阵实例
Nov 27 #Python
python双端队列原理、实现与使用方法分析
Nov 27 #Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 #Python
OpenCV+Python--RGB转HSI的实现
Nov 27 #Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 #Python
python的range和linspace使用详解
Nov 27 #Python
You might like
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
解析php中die(),exit(),return的区别
2013/06/20 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
php实现对象克隆的方法
2015/06/20 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
python 调用c语言函数的方法
2017/09/29 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
艺术系应届生的自我评价
2013/10/19 职场文书
工作时间上网检讨书
2014/02/03 职场文书
运动会入场词100字
2014/02/06 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
2015年圣诞节寄语
2015/08/17 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
MySQL分库分表与分区的入门指南
2021/04/22 MySQL
判断Python中的Nonetype类型
2021/05/25 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
python神经网络ResNet50模型
2022/05/06 Python