python中dtype什么意思_关于Numpy数据类型对象(dtype)
使⽤详解
常⽤⽅法
#记住引⼊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
# str 属性获取完整字符串表⽰
# 第⼀个字符是字节序,< 表⽰⼩端,> 表⽰⼤端,| 表⽰平台的字节序
>>> t.str
'
# 获取⼤⼩
>>> 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', '
# 获取字段类型
>>> 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', '
>>> dt = np.dtype([('R','u1'), ('G','u1'), ('B','u1'), ('A','u1')])
#{‘names': …, ‘formats': …, ‘offsets': …, ‘titles': …, ‘itemsize': …}:
网页float是什么意思>>> 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)使⽤详解就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持脚本之家。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。