关于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 相关文章推荐
5种Python单例模式的实现方式
Jan 14 Python
Python 爬虫图片简单实现
Jun 01 Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 Python
使用python语言,比较两个字符串是否相同的实例
Jun 29 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
Python3按一定数据位数格式处理bin文件的方法
Jan 24 Python
Python实现合并excel表格的方法分析
Apr 13 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 Python
python+rsync精确同步指定格式文件
Aug 29 Python
python logging通过json文件配置的步骤
Apr 27 Python
Django models文件模型变更错误解决
May 11 Python
django下创建多个app并设置urls方法
Aug 02 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
调频问题解答
2021/03/01 无线电
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
Prototype Number对象 学习
2009/07/19 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
js倒计时显示实例
2016/12/11 Javascript
js面向对象编程总结
2017/02/16 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
jQuery遮罩层实例讲解
2017/05/11 jQuery
AngularJS表单验证功能分析
2017/05/26 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
JavaScript实现区块链
2018/03/14 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
PHP面试题及答案一
2012/06/18 面试题
国际贸易专业推荐信
2013/11/15 职场文书
平安家庭事迹材料
2014/12/20 职场文书
小学作文之描写天气
2019/08/15 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
Python中requests做接口测试的方法
2021/05/30 Python
Sql Server之数据类型详解
2022/02/28 SQL Server