1 数据类型
numpy 与 python 的数据类型有区别
python数据类型:bool 、int、float、complex、str、tuple、list、dict、set
在numpy中,python内置类型可直接应用于numpy库中,但是系统会依据python的数据类型将其转化成numpy库的数据类型
numpy库还定义了自己的数据类型,
2 numpy内置数据类型
1)布尔类型
bool/bool_
2)整型
int8 / int16 / int32 / int64 # 最高位0是正数,1是负数,也可以理解为int32 有符号类型时,一位用于存储符号,余下31位用于存储数据
intN: [-2^(N-1), 2^(N-1)-1]
int8: [-128, 127]uint8/uint16/uint32/uint64 #无符号整型
uintN: [0, 2^N-1]
uint8: [0, 255]
3)浮点型
float16 / float32 / float64 / float96 / float128
4)复数
complex64 / complex128
5)字符串
str_
3 numpy的类型字符码
? - 布尔
b - 有符号字节
B - 无符号字节
i - 有符号整型
i/i2/i4 #i这里的数字表示字节数,int32中的数字表示位数 i2 = int16 两个等价
u - 无符号整型 ;u / u2 / u4u / u8
f - 浮点型 f2 / f4 / f8
c - 复数 c8 / c16
U - 字符串
m - 时间增量
M - 日期时间
O - python对象
4.numpy的类型字符串
<字节序><维度><类型字符码><字节数>
> 表示:大端字节序
< 表示:小端字节序
= 表示:系统字节序
其他:
字节序列形式的字符串:S或a,S string a ASCII python中不常用 ;
Unicode字符串:U python中常用的是;
空类型:V 泛类型;
字节序:一般针对多字节的,单字节的类型没有字节序,浮点数也没有字节序,不区分大小端;
一个Unicode一个字符串由4个字节,所有他有高低之分;
字节序:
大端(高位低址):>
小端(高位高值):<
自动(自动匹配硬件字节序,也是默认值):=;
23 2十位3个位 如果高位放在高地址,就是小端位,如果高位放在低地址上,就是大端位;
这个是由处理器CPU决定的,这个硬件架构有关,和软件没关系,intel的一般都是小端序,IBM 的power工作站之类的,一般是R芯片大端序;
int映射成numpy 内部的32,当用的64位时,则会映射成numpy内部的64