• 技术文章 >后端开发 >Python教程

    Python NumPy教程之数据类型对象

    WBOYWBOY2022-08-29 20:05:47转载408

    php入门到就业线上直播课:进入学习

    【相关推荐:Python3视频教程

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

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

    构造数据类型(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']

    【相关推荐:Python3视频教程

    以上就是Python NumPy教程之数据类型对象的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:脚本之家,如有侵犯,请联系admin@php.cn删除

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    快捷开发Web应用及小程序:点击使用

    支持亿级表,高并发,自动生成可视化后台。

    专题推荐:python
    上一篇:Python NumPy教程之数组的创建详解 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• Python pygame入门基础教程• python爬虫爬取网页数据并解析数据• Python如何提取csv数据并筛选指定条件数据• python类参数定义及数据扩展方式unsqueeze/expand• 一起聊聊python文件数据分析治理提取
    1/1

    PHP中文网