Numpy学习笔记04 -- 数据类型

46 阅读3分钟

一、数据结构

    numpy支持的数据类型比python内置的类型要多很多,基本上可以和C语言的数据类型对应上,其中部分类型对
应于python内置的类型
    numpy的数据类型实际上是dtype对象的实例,并对应唯一的字符,包括np.bool,np.int32,np.float32等等。
数据类型:
    -- bool_     :布尔型数据类型,TrueFalse
    -- int_      :默认的整数类型,类似于C语言中的long,int32,int64
    -- intc      :与C语言的int类型一样,一般是int32或int64
    -- intp      :用于索引的整数类型,类似于C的ssize_t,一般情况下仍然是int32或int64
    -- int8      :字节,-128 to 127
    -- int16     :整数,-32768 to 32767
    -- int32     :整数,-2147483648 to 2147483647
    -- int64     :整数,-9223772036854775808 to 9223372036854775807
    -- uint8     :无符号整数,0 to 255
    -- uint16    :无符号整数,0 to 65535
    -- uint64    :无符号整数,0 to 18446744073709551615
    -- float_    :float64类型的简写
    -- float16   :半精度浮点数,包括:1个符号位,5个指数位,10个尾数位
    -- float32   :单精度浮点数,包括:1个符号位,8个指数位,23个尾数位
    -- float64   :双精度浮点数,包括:1个符号位,11个指数位,52个尾数位
    -- str_      : 表示字符串类型
    -- string    :表示字节串类型,也就是bytes类型
    -- complex_  :complex128类型的简写,即128位复数
    -- complex64 :复数,表示双32位浮点数()
    -- complex128:复数,表示双64位浮点数()

二、结构化数据类型

每个内建类型都有一个唯一定义它的字符代码:
    b   :布尔型
    i   :有符号整型
    u   :无符号整型
    f   :浮点型
    c   :复数浮点型
    m   :timedelta时间间隔
    M   :datetime日期时间
    O   :python对象
    S,s :byte字符串
    U   :Unicode
    V   :原始数据void

1 创建结构化数据

1.png

2.png

2 结构化数据操作

3.png

三、数据类型长度

1 整型长度

默认情况: 4.png 手动设置1: 5.png 手动设置2: 6.png int8的取值范围:
7.png

    从测试结果来看,int8的取值范围是-18 to 127,并且可以将这个取值范围看成一个圆形或者循环,int8能
够存储的最大数为127,当我们要存入128时会发现,存入的是-128,而当我们要存入-129时会发现,实际存入的是
127,因此可以将这个范围理解为是一个从-128127围成的一个环型结构。

2 字符串长度

创建字符串设置最大长度: 8.png 使用object类型长度不受限: 9.png

    使用str_类型会限制字符串的最大长度,使用不灵活,而使用object类型,字符串长度将不再受到限制,但是
str_类型相较于object类型的效率更高,因此并非object比str_更好。