关于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的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
由浅入深讲解python中的yield与generator
Apr 05 Python
python 二分查找和快速排序实例详解
Oct 13 Python
利用python将json数据转换为csv格式的方法
Mar 22 Python
使用tensorflow实现线性回归
Sep 08 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
python生成任意频率正弦波方式
Feb 25 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
Django实现内容缓存实例方法
Jun 30 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
如何通过安装HomeBrew来安装Python3
Dec 23 Python
Python爬虫数据的分类及json数据使用小结
Mar 29 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脚本的10个技巧(3)
2006/10/09 PHP
PHP4 与 MySQL 交互使用
2006/10/09 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
php分页函数完整实例代码
2014/09/22 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
浅谈php自定义错误日志
2015/02/13 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
2015/07/01 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
js导出txt示例代码
2014/01/14 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
opencv 阈值分割的具体使用
2020/07/08 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
《夸父追日》教学反思
2014/02/26 职场文书
《将心比心》教学反思
2014/04/08 职场文书
运动会口号大全
2014/06/07 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
JavaScript控制台的更多功能
2021/04/28 Javascript