如何掌握NumPy的数据类型对象的知识
Admin 2022-10-26 群英技术资讯 1216 次浏览
这篇文章主要介绍“如何掌握NumPy的数据类型对象的知识”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何掌握NumPy的数据类型对象的知识”文章能帮助大家解决问题。每个 ndarray 都有一个关联的数据类型 (dtype) 对象。这个数据类型对象(dtype)告诉我们数组的布局。这意味着它为我们提供了以下信息:
ndarray 的值存储在缓冲区中,可以将其视为连续的内存字节块。所以这些字节将如何被解释由dtype对象给出。
数据类型对象是 numpy.dtype 类的一个实例,可以使用numpy.dtype.
参数:
obj: 要转换为数据类型对象的对象。
align : [bool, optional] 向字段添加填充以匹配 C 编译器为类似 C 结构输出的内容。
copy : [bool, optional] 制作数据类型对象的新副本。如果为 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("Byte order is:",dt.byteorder)
print("Size is:", dt.itemsize)
print("Data type is:", dt.name) 登录后复制 输出:
Byte order is: >
Size is: 4
Name of data type is: 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 程序。
import numpy as np
a = np.array([1])
print("type is: ",type(a))
print("dtype is: ",a.dtype) 登录后复制 输出:
type is:
dtype is: int32
数据类型对象对于创建结构化数组很有用。结构化数组是包含不同类型数据的数组。可以借助字段访问结构化数组。
字段就像为对象指定名称。在结构化数组的情况下,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']) 登录后复制 输出:
('<f8', (2,))
# 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("Grades of John are: ", x[1]['grades'])
print("Names are: ", x['name']) 登录后复制 输出:
('John', [ 6., 7.])
Grades of John are: [ 6. 7.]
Names are: ['Sarah' 'John']
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python框架是对基础代码进行封装和提供相应的应用编程接口,开发人员在使用框架时直接调用封装的应用编程接口可以,提高生产效率和开发速度
open()函数的作用是打开一个文件,并返回一个file对象(即文件对象),下面这篇文章主要给大家介绍了关于python中open函数对文件处理的相关资料,需要的朋友可以参考下
在Python中,如果我们想要在遍历一组数据的过程中,对这组数据进行修改,通常会出现许多问题,例如对列表进行上述操作时, 会忽略部分数据;遍历字典时,不能修改数据。本文针对这些问题,提出了多种解决方案。
这篇文章主要介绍了通过Opencv+SVM实现人脸识别功能,文中的示例代码介绍详细,对于我们学习人脸识别和OpenCV都有一定的帮助,感兴趣的小伙伴可以学习一下
如果要考察某公司的牛奶产品质量,可以从100袋牛奶中抽取30袋,在随机数表中选中一数,并用向上、下、左、右不同的读法组成30个数,并按牛奶的标号进行检测,虽然麻烦,但很常用。在日常生活中,随机数起着很大的作用,所以很多人会专门去寻找随机数生成器。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008