python numpy dtype object_关于Numpy数据类型对象(dtype)使用详解

python numpy dtype object_关于Numpy数据类型对象(dtype)使用详解常用方法#记住引入numpy时要是用别名np,则所有的numpy字样都要替换#查询数值类型>>>type(float)dtype(‘float64’)#查询字符代码>>>dtype(‘f’)dtype(‘float32’)>>>dtype(‘d’)dtype(‘float64’)#查询双字符代码>>>dtype(‘f…

大家好,又见面了,我是你们的朋友全栈君。

常用方法

#记住引入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’: …}:

>>> 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)使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

除非注明,否则均为软件工程师@钟江华原创文章,转载必须以链接形式标明本文链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140741.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言中console.writeline(console.writeline())

    C#中Console.WriteLine()的用法

    2022年4月17日
  • hmac 签名_em球衣签名

    hmac 签名_em球衣签名在提供第三方接口的时候,我们需要确认:1.消息未被其他人篡改(签名和验证签名)2.从消息中确认第三方的身份(appid)因为hash是不可逆的,所以签名的过程是不可逆的;HMACSHA1是从SHA1哈希函数构造的一种键控哈希算法,被用作HMAC(基于哈希的消息验证代码)。此HMAC进程将密钥与消息数据混合,使用哈希函数对混合结果进行哈希计算,将所得哈希值与该密钥混…

    2022年10月25日
  • 且用计算机语言怎么表示,如何学习SCL语言?SCL语言编程入门

    且用计算机语言怎么表示,如何学习SCL语言?SCL语言编程入门原标题:如何学习SCL语言?SCL语言编程入门随着现代工控技术的不断发展,可能很多使用过PLC的技术人员都有这么一个感受:传统的‘梯形图’编程方式在面对越来越复杂的控制要求时,已显得力不从心。其实,现在很多大品牌的中高级PLC都支持国际电工委员会IEC61131标准中规范的五种编程语言的混合编程,即梯形图(LD)、结构化文本(ST)、流程图(SFC)、指令表(IL)和功能块(FB…

    2022年10月7日
  • Flowable实战-Camel使用「建议收藏」

    Flowable实战-Camel使用「建议收藏」本博客将讨论了如何在Flowable6.4.1中安装和使用Camel。希望在阅读此博客后,您将能够设置FlowableTask应用程序,以允许用户运行可以通过Camel路由与其他应用程序集成Flowable。此博客使用FlowableCamel模块中的示例。CamelCamel是一个apache项目,它是为了让Java应用程序之间提供标准化的集成平台。它以组件的形…

    2022年5月21日
  • 一起学JAVA 反射学习(超详细)

    一起学JAVA 反射学习(超详细)1什么是反射?Reflection(反射)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查,或者说“自审”,也有称作“自省”。反射非常强大,它甚至能直接操作程序的私有属性。我们前面学习都有一个概念,被private封装的资源只能类内部访问,外部是不行的,但这个规定被反射赤裸裸的打破了。反射就像一面镜子,它可以在运行时获取一个类的所有信息,可以获取到任何定义的信息(包括成员变量,成员方法,构造器等),并且可以操纵类的字段、方法、构造器等部分。2为什么需要反射?

    2022年6月11日
  • WMI远程访问问题解决方法

    WMI远程访问问题解决方法

    2021年8月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号