NumPy 提供了比 Python 提供的数值数据类型更多的选择。以下是一些数值数据类型的列表,具体信息如下表所示。

序号数据类型描述
1bool_代表布尔值,表示真或假。以字节形式存储。
2int_默认整数类型。与 C 语言中的 long 类型相同,包含 64 位或 32 位整数。
3intc类似于 C 整数 (c int),表示 32 位或 64 位整数。
4intp用于索引的整数类型。
5int88 位整数,与字节相同。取值范围为 -128 到 127。
6int162 字节 (16 位) 整数,取值范围为 -32768 到 32767。
7int324 字节 (32 位) 整数,取值范围为 -2147483648 到 2147483647。
8int648 字节 (64 位) 整数,取值范围为 -9223372036854775808 到 9223372036854775807。
9uint81 字节 (8 位) 无符号整数。
10uint162 字节 (16 位) 无符号整数。
11uint324 字节 (32 位) 无符号整数。
12uint648 字节 (64 位) 无符号整数。
13float_与 float64 相同。
14float16半精度浮点数。5 位用于指数,10 位用于尾数,1 位用于符号。
15float32单精度浮点数。8 位用于指数,23 位用于尾数,1 位用于符号。
16float64双精度浮点数。11 位用于指数,52 位用于尾数,1 位用于符号。
17complex_与 complex128 相同。
18complex64用于表示复数,实部和虚部各占 32 位。
19complex128用于表示复数,实部和虚部各占 64 位。

NumPy 数据类型(dtype)

NumPy 数组的所有项都是数据类型对象,也称为 NumPy 数据类型(dtype)。数据类型对象实现了与数组相对应的固定内存大小。

我们可以使用以下语法创建 dtype 对象。

numpy.dtype(object, align, copy)

构造函数接受以下参数:

  • object: 要转换为数据类型的对象。
  • align: 可以设置为布尔值。如果为 true,则会添加额外的填充以使其等效于 C 结构。
  • copy: 创建 dtype 对象的另一个副本。

示例 1

import numpy as np
d = np.dtype(np.int32)
print(d)

输出:

int32

示例 2

import numpy as np
d = np.int32(i4)
print(d)

输出:

int32

创建结构化数据类型

我们可以创建类似于映射(字典)的数据类型,其中包含值之间的映射关系。例如,它可以包含员工和工资之间的映射,或者学生和年龄之间的映射等。

考虑以下示例。

示例 1

import numpy as np
d = np.dtype([('salary', np.float)])
print(d)

输出:

[('salary', '<f8')]

示例 2

import numpy as np
d = np.dtype([('salary', np.float)])
arr = np.array([(10000.12,), (20000.50,)], dtype=d)
print(arr['salary'])

输出:

[(10000.12,) (20000.5 ,)]

标签: NumPy, NumPy教程, NumPy学习, NumPy安装, NumPy入门教程, NumPy进阶教程, NumPy指南, NumPy学习指南, NumPy库, NumPy库学习, NumPy库入门, NumPy库教程, NumPy应用, NumPy库进阶