关于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)
类型参数及缩写
自定义异构数据类型
基本书写格式
importnumpy #定义t的各个字段类型 >>>t=dtype([('name',str,40),('numitems',numpy.int32),('price',numpy.float32)]) >>>t dtype([('name','|S40'),('numitems','>>t['name'] dtype('|S40') #使用记录类型创建数组 #否则它会把记录拆开 >>>itemz=array([('MeaningoflifeDVD',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字符unicodestring #(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':…}: >>>dt=np.dtype({'names':('Date','Close'),'formats':('S10','f8')}) >>>dt=np.dtype({'names':['r','b'],'formats':['u1','u1'],'offsets':[0,2],'titles':['Redpixel','Bluepixel']}) #(base_dtype,new_dtype): >>>dt=np.dtype((np.int32,(np.int8,4)))//base_dtype被分成4个int8的子数组
以上这篇关于Numpy数据类型对象(dtype)使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。