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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 匹配滤波(四种滤波器的幅频特性)

    匹配滤波(matchedfiltering)是最佳滤波的一种。当输入信号具有某一特殊波形时,其输出达到最大。在形式上,一个匹配滤波器由以按时间反序排列的输入信号构成。且滤波器的振幅特性与信号的振幅谱一致。因此,对信号的匹配滤波相当于对信号进行自相关运算。配滤波器是一种非常重要的滤波器,广泛应用与通信、雷达等系统中。从上面的理论推导可以看到,当输出信噪比为最大值的时候,滤波器的传递函数与输入信号的频谱函数满足特定的关系,式2.10就反映了这个关系。满足这种关系的线性滤波器,称之为匹配滤波…

    2022年4月18日
    109
  • CubieBoard2串口

    CubieBoard2串口CubieBoard2串口

    2022年7月22日
    10
  • 局部性原理的理解

    局部性原理的理解局部性原理的理解杜逸闲本文首先介绍了局部性原理的定义 然后列举了一些局部性原理的应用 接着具体讨论了局部性原理在 pagecoloring 中的应用 最后分析了局部性原理的本质 什么是局部性原理在计算机学科的概念中 局部性原理是一个常用的术语 指处理器在访问某些数据时短时间内存在重复访问 某些数据或者位置访问的概率极大 大多数时间只访问局部的数据 主要可以分为时间局部性和空间局部性两种 时间局部性如果一个数据正在被访问 那么在近期它很可能还会被再次访问 任何编写过程序的人都

    2025年10月17日
    3
  • 多进程与多线程区别

    多进程与多线程区别在 Unix 上编程采用多线程还是多进程的争执由来已久 这种争执最常见到在 C S 通讯中服务端并发技术的选型上 比如 WEB 服务器技术中 Apache 是采用多进程的 perfork 模式 每客户连接对应一个进程 每进程中只存在唯一一个执行线程 nbsp Java 的 Web 容器 Tomcat Websphere 等都是多线程的 每客户连接对应一个线程 所有线程都在一个进程中 从 Unix 发展历史看 伴随着 Uni

    2025年8月3日
    0
  • 【转载】一分钟了解负载均衡的一切

    【转载】一分钟了解负载均衡的一切

    2021年11月20日
    38
  • servlet和jsp中的Request转发,重定向有何区别_jsp重定向和转发的区别

    servlet和jsp中的Request转发,重定向有何区别_jsp重定向和转发的区别转发request.getRequestDispatcher("/index.jsp").forward(request,response);System.out.println("被执行了");index.jsp&lt;html&gt;&lt;body&gt;&lt;h2&gt;HelloWorld!&lt;/h2&gt;&lt;/body

    2025年10月2日
    0

发表回复

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

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