关于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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
Python判断文件和文件夹是否存在的方法
May 21 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
详解python的webrtc库实现语音端点检测
May 31 Python
Pandas的read_csv函数参数分析详解
Jul 02 Python
python gdal安装与简单使用
Aug 01 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
在python shell中运行python文件的实现
Dec 21 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
Mar 09 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
Dec 07 Python
Python读写Excel表格的方法
Mar 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
Syphon 使用方法
2021/03/03 冲泡冲煮
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 战前探营!
2014/05/21 DOTA
python字典get()方法用法分析
2015/04/17 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
Python自省及反射原理实例详解
2020/07/06 Python
python 实现音频叠加的示例
2020/10/29 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
酒店总经理工作职责
2013/12/13 职场文书
警察思想汇报
2014/01/04 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
护理专业毕业生自我鉴定总结
2014/03/24 职场文书
保研推荐信
2014/05/09 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
运动会5000米加油稿
2015/07/21 职场文书
四年级数学教学反思
2016/02/16 职场文书
MySQL日期时间函数知识汇总
2022/03/17 MySQL