关于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中使用PIL模块处理图像的教程
Apr 29 Python
谈谈Python进行验证码识别的一些想法
Jan 25 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
python文件写入write()的操作
May 14 Python
详解python深浅拷贝区别
Jun 24 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
关于python 跨域处理方式详解
Mar 28 Python
Python中内建模块collections如何使用
May 27 Python
python实现经纬度采样的示例代码
Dec 10 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
PHP引用符&amp;的用法详细解析
2013/08/22 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
thinkphp浏览历史功能实现方法
2014/10/29 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
js计算精度问题小结
2013/04/22 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
Python中格式化format()方法详解
2017/04/01 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
python安装后的目录在哪里
2020/06/21 Python
python操作redis数据库的三种方法
2020/09/10 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
canvas简易绘图的实现(海绵宝宝篇)
2018/07/04 HTML / CSS
大学理论知识学习自我鉴定
2014/04/28 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
护理专业自荐信范文
2015/03/06 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
社区干部培训心得体会
2016/01/06 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang
海弦WR-800F
2022/04/05 无线电
python缺失值填充方法示例代码
2022/12/24 Python