NumPy数据类型总结

《NumPy数据类型总结》

简介

本文将介绍NumPy中的数据类型,不同的数据类型有自己特定的场合。比如图片生成矩阵或者矩阵生成图片,要求必须是uint8数据类型。除此之外,掌握数据类型之间的转换也很重要。

数据类型

在NumPy中定义了如下的数据类型:

类型 类型代码 描述
int8、uint8 i1、u1 有符号和无符号的8位整型(1个字节)
int16、uint16 i2、u2 有符号和无符号的16位整型(2个字节)
int32、uint32 i4、u4 有符号和无符号的32位整型(4个字节)
int64、uint64 i8、u8 有符号和无符号的64位整型(8个字节)
float16 f2 半精度浮点数
float32 f4或f 标准的单精度浮点数
float64 f8或d 标准的双精度浮点数
float128 f16或g 扩展精度浮点数
complex64、complex128 c8、c16 分别用两个32位、64位或128位浮点数表示的复数
complex256 c32 复数
bool True和False布尔类型
object O Python对象类型
string_ S 固定长度的字符串类型。例如,创建一个长度为10的字符串,应使用S10
unicode_ U 固定长度的Unicode类型,跟字符串定义方式一样,比如U10

在这些类型当中,需要注意一点。有符号数据类型可以包括负数。无符号数据必须大于等于0。比如int8的取值范围是(-128,127),而uint8的取值范围是(0,255)。图片当中每个像素点的取值都是在(0,255)之间,在以后的图片处理过程要特别注意这个小知识点。

首先通过array()函数创建ndarray数组:

可以看到默认的是int32类型,除此之外,还可以指定数据类型:

还可以通过astype方法显式地转换数据类型:

除了使用数据类型表示,还可以使用表中的类型代码来表示:

数组与标量的运算

在NumPy中能够很方便地实现数组的运算。大小相等的数组之间的运算可以应用到里面的每个元素中。

代码演示:

当然数组和标量之间也能进行运算。

代码演示:

除此之外,不同大小数组之间的运算叫做广播,在后面的内容中会讲到。

总结

在本文中介绍了NumPy的数据类型,在以后的使用中要学会通过astype方法灵活地转换数据类型;熟练掌握数组和标量之间的运算。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

19 − 10 =