关于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实现破解猜数游戏算法示例
Sep 25 Python
python爬取网页转换为PDF文件
Jun 07 Python
python3个性签名设计实现代码
Jun 19 Python
python 对类的成员函数开启线程的方法
Jan 22 Python
python pexpect ssh 远程登录服务器的方法
Feb 14 Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 Python
Python中的 is 和 == 以及字符串驻留机制详解
Jun 28 Python
ERLANG和PYTHON互通实现过程详解
Jul 05 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
python中的函数递归和迭代原理解析
Nov 14 Python
python中常见错误及解决方法
Jun 21 Python
python实现网页录音效果
Oct 26 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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
Python字符串三种格式化输出
2020/09/17 Python
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
企业管理毕业生求职信范文
2014/03/07 职场文书
反腐倡廉标语
2014/06/24 职场文书
廉洁自律个人总结
2015/02/14 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis