python中dtype什么意思_NumPy Python中的数据类型对象(dtype)

每个ndarray都有一个关联的数据类型(dtype)对象。此数据类型对象(dtype)告知我们有关数组布局的信息。这意味着它为我们提供了有关以下信息:

数据类型(整数,浮点数,Python对象等)

数据大小(字节数)

数据的字节顺序(小端或大端)

ndarray的值存储在缓冲区中,可以将其视为内存字节的连续块。因此,如何解释这些字节由dtype对象给出。

1, 构造数据类型(dtype)对象:数据类型对象是numpy.dtype类的实例,可以使用numpy.dtype创建它。

参数:

obj:要转换为数据类型对象的对象。

align:bool,可选,在字段中添加填充以匹配C编译器,为相似的C结构输出的内容。

copy:bool,可选,新建数据类型对象的副本。如果为False,则结果可能只是对内置数据类型对象的引用。

# Python程序创建数据类型对象

import numpy as np

# np.int16转换为数据类型对象.

print(np.dtype(np.int16))

输出:

int16

# Python程序创建包含32位大端整数的数据类型对象

import numpy as np

# i4代表大小为4字节的整数

# >表示大端字节顺序,而<表示小端字节编码.

# dt是dtype对象

dt = np.dtype('>i4')

print("字节顺序为:",dt.byteorder)

print("尺寸为:",dt.itemsize)

print("数据类型为:",dt.name)

输出:

字节顺序为: >

尺寸为: 4

数据类型为: int32

类型说明符(以上情况为i4)可以采用不同的形式:

b1,i1,i2,i4,i8,u1,u2,u4,u8,f2,f4,f8,c8,c16,a

(表示字节,整数,无符号整数,浮点数,指定字节长度的复数和固定长度字符串)

int8,…,uint8,…,float16,float32,float64,complex64,complex128

(这次具有位大小)

注意 :

dtype与type不同.

# Python程序区分和dtype。

import numpy as np

a = np.array([1])

print("类型是: ",type(a))

print("dtype是: ",a.dtype)

输出:

类型是:

dtype是: int32

2, 具有结构化数组的数据类型对象:数据类型对象对于创建结构化数组很有用。结构化数组是包含不同类型数据的数组。可以借助字段来访问结构化数组。字段就像为对象指定名称一样,在结构化数组的情况下,dtype对象也将被结构化。

# Python程序演示字段的使用

import numpy as np

# 结构化数据类型,包含16个字符的字符串(在“name"字段中)和两个64位浮点数的子数组(在“grades"字段中)

dt = np.dtype([('name', np.unicode_, 16), ('grades', np.float64, (2,))])

# 具有字段等级的对象的数据类型

print(dt['grades'])

# 具有字段名称的对象的数据类型

print(dt['name'])

输出:

('

# Python程序演示将数据类型对象与结构化数组一起使用。

import numpy as np

dt = np.dtype([('name', np.unicode_, 16), ('grades', np.float64, (2,))])

# x是具有学生姓名和分数的结构化数组.

# 学生姓名的数据类型为np.unicode_,标记的数据类型为np.float(64)

x = np.array([('Sarah', (8.0, 7.0)), ('John', (6.0, 7.0))], dtype=dt)

print(x[1])

print("约翰的成绩是: ",x[1]['grades'])

print("名字是: ",x['name'])

输出:

('John', [ 6., 7.])

约翰的成绩是: [ 6. 7.]

名字是: ['Sarah' 'John']

0

相关文章:如何检查字符串在Python中是否为有效关键字? 定义关键字 在编程中,关键字是一种编程语言的“ 保留字 “,它向解释器传达了特殊的含义。它可以是命 […]...

Python | print()中的结束参数 默认情况下,Python的print()函数以换行符结尾。具有C / C++背景的程序员可能想知道如何不使用换 […]...

Python的__name __(特殊变量) 由于Python中没有main()函数,因此当将运行Python程序的命令提供给解释器时,将执行0级缩进的代码 […]...

Python中的函数 函数是一组语句,这些语句接受输入,进行一些特定的计算并产生输出。这个想法是将一些通常重复执行的任务放在一起并创 […]...

Python中的反射 反射是指代码能够检查可能作为参数传递给函数的对象属性的能力。例如,如果我们编写type(obj),则Pytho […]...

使用Python的SQL 1 在本文中,讨论了与Python程序的数据库连接。在任何编程语言中,将程序与数据库连接都被认为是一项艰巨的任务。 […]...

Python中的双端队列DeQue Deque可以使用模块“ collections ” 在Python中实现。双端队列优于列表中的情 […]...

Numpy 数据类型对象 每个ndarray都有一个关联的数据类型(dtype)对象。此数据类型对象(dtype)告知我们有关数组布局的 […]...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值