学科分类
目录
数据分析

查看数据类型

NumPy支持比Python更多的数据类型。下面介绍一些常用的数据类型,以及这些数据类型之间的转换。

如前面所述,通过“ndarray.dtype”可以创建一个表示数据类型的对象。要想获取数据类型的名称,则需要访问name属性进行获取,示例代码如下。

In [20]: data_one = np.array([[1, 2, 3], [4, 5, 6]])
In [21]: data_one.dtype.name 
Out[21]: 'int32' 

注意:

在默认情况下,64位windows系统输出的结果为int32, 64位Linux或macOS系统输出结果为int64,当然也可以通过dtype来指定数据类型的长度。

上述代码中,使用dtype属性查看data_one对象的类型,输出结果是int32。从数据类型的命名方式上可以看出,NumPy的数据类型是由一个类型名(如int、float)和元素位长的数字组成。

如果在创建数组时,没有显式地指明数据的类型,则可以根据列表或元组中的元素类型推导出来。默认情况下,通过zeros()、ones()、empty()函数创建的数组中数据类型为float64。

表1罗列了NumPy中常用的数据类型。

表1 NumPy的数据类型

数据类型 含义
bool 布尔类型,值为True或False
int8、uint8 有符号和无符号的8位整数
int16、uint16 有符号和无符号的16位整数
int32、uint32 有符号和无符号的32位整数
int64、uint64 有符号和无符号的64位整数
float16 半精度浮点数(16位)
float32 半精度浮点数(32位)
float64 半精度浮点数(64位)
complex64 复数,分别用两个32位浮点数表示实部和虚部
complex128 复数,分别用两个64位浮点数表示实部和虚部
object Python对象
string_ 固定长度的字符串类型
unicode 固定长度的unicode类型

每一个NumPy内置的数据类型都有一个特征码,它能唯一标识一种数据类型,具体如表2所示。

表2 NumPy内置特征码

特征码 含义
b 布尔型
u 无符号整型
c 复数类型
S,a 字节字符串
V 原始数据
i 有符号整型
f 浮点型
O Python对象
U unicode字符串
点击此处
隐藏目录