zoukankan      html  css  js  c++  java
  • NumPy数据类型

    NumPy - 数据类型

    NumPy 支持比 Python 更多种类的数值类型。 下表显示了 NumPy 中定义的不同标量数据类型。

    序号数据类型及描述
    1. bool_存储为一个字节的布尔值(真或假)
    2. int_默认整数,相当于 C 的long,通常为int32或int64
    3. intc相当于 C 的int,通常为int32或int64
    4. intp用于索引的整数,相当于 C 的size_t,通常为int32或int64
    5. int8字节(-128 ~ 127)
    6. int1616 位整数(-32768 ~ 32767)
    7. int3232 位整数(-2147483648 ~ 2147483647)
    8. int6464 位整数(-9223372036854775808 ~ 9223372036854775807)
    9. uint88 位无符号整数(0 ~ 255)
    10. uint1616 位无符号整数(0 ~ 65535)
    11. uint3232 位无符号整数(0 ~ 4294967295)
    12. uint6464 位无符号整数(0 ~ 18446744073709551615)
    13. float_float64的简写
    14. float16半精度浮点:符号位,5 位指数,10 位尾数
    15. float32单精度浮点:符号位,8 位指数,23 位尾数
    16. float64双精度浮点:符号位,11 位指数,52 位尾数
    17. complex_complex128的简写
    18. complex64复数,由两个 32 位浮点表示(实部和虚部)
    19. complex128复数,由两个 64 位浮点表示(实部和虚部)

    NumPy 数字类型是dtype(数据类型)对象的实例,每个对象具有唯一的特征。 这些类型可以是np.bool_,np.float32等。

    数据类型对象 (dtype)

    数据类型对象描述了对应于数组的固定内存块的解释,取决于以下方面:

    • 数据类型(整数、浮点或者 Python 对象)

    • 数据大小

    • 字节序(小端或大端)

    • 在结构化类型的情况下,字段的名称,每个字段的数据类型,和每个字段占用的内存块部分。

    • 如果数据类型是子序列,它的形状和数据类型。

    字节顺序取决于数据类型的前缀<或>。<意味着编码是小端(最小有效字节存储在最小地址中)。>意味着编码是大端(最大有效字节存储在最小地址中)。

    dtype可由一下语法构造:

    numpy.dtype(object, align, copy)

    参数为:

    • Object:被转换为数据类型的对象。

    • Align:如果为true,则向字段添加间隔,使其类似 C 的结构体。

    • Copy? 生成dtype对象的新副本,如果为flase,结果是内建数据类型对象的引用。

    示例 1

    # 使用数组标量类型  
    import numpy as np 
    dt = np.dtype(np.int32)  
    print dt

    输出如下:

    int32

    示例 2

    #int8,int16,int32,int64 可替换为等价的字符串 'i1','i2','i4',以及其他。  
    import numpy as np 
    
    dt = np.dtype('i4')  
    print dt

    输出如下:

    int32

    示例 3

    # 使用端记号  
    import numpy as np 
    dt = np.dtype('>i4')  
    print dt

    输出如下:

    >i4

    下面的例子展示了结构化数据类型的使用。 这里声明了字段名称和相应的标量数据类型。

    示例 4

    # 首先创建结构化数据类型。  
    import numpy as np 
    dt = np.dtype([('age',np.int8)])  
    print dt

    输出如下:

    [('age', 'i1')]

    示例 5

    # 现在将其应用于 ndarray 对象  
    import numpy as np 
    
    dt = np.dtype([('age',np.int8)]) 
    a = np.array([(10,),(20,),(30,)], dtype = dt)  
    print a

    输出如下:

    [(10,) (20,) (30,)]

    示例 6

    # 文件名称可用于访问 age 列的内容  
    import numpy as np 
    
    dt = np.dtype([('age',np.int8)]) 
    a = np.array([(10,),(20,),(30,)], dtype = dt)  
    print a['age']

    输出如下:

    [10 20 30]

    示例 7

    以下示例定义名为 student 的结构化数据类型,其中包含字符串字段name,整数字段age和浮点字段marks。 此dtype应用于ndarray对象。

    import numpy as np 
    student = np.dtype([('name','S20'),  ('age',  'i1'),  ('marks',  'f4')])  
    print student

    输出如下:

    [('name', 'S20'), ('age', 'i1'), ('marks', '<f4')])

    示例 8

    import numpy as np 
    
    student = np.dtype([('name','S20'),  ('age',  'i1'),  ('marks',  'f4')]) 
    a = np.array([('abc',  21,  50),('xyz',  18,  75)], dtype = student)  
    print a

    输出如下:

    [('abc', 21, 50.0), ('xyz', 18, 75.0)]

    每个内建类型都有一个唯一定义它的字符代码:

    • 'b':布尔值

    • 'i':符号整数

    • 'u':无符号整数

    • 'f':浮点

    • 'c':复数浮点

    • 'm':时间间隔

    • 'M':日期时间

    • 'O':Python 对象

    • 'S', 'a':字节串

    • 'U':Unicode

    • 'V':原始数据(void)

  • 相关阅读:
    php
    php数据排序---array_multisort
    IOS 线程描述
    IOS 进程描述
    IOS 强指针(strong)和弱指针(weak)
    IOS autosizing(设置控件的固定位置大小)
    IOS UIActivityIndicatorView动画
    IOS UIImageView的帧动画
    IOS Block动画
    IOS UIView动画(封装动画)
  • 原文地址:https://www.cnblogs.com/navysummer/p/9640667.html
Copyright © 2011-2022 走看看