NumPy 数据类型
NumPy提供的数字数据类型范围比Python提供的更广。下表列出了一些数字数据类型。
序号 | 数据类型 | 描述 |
---|---|---|
1 | bool_ | 它表示布尔值,指示真或假。它以字节形式存储。 |
2 | int_ | 它是默认的整数类型。它与C语言中的long类型相同,包含64位或32位整数。 |
3 | intc | 它类似于C语言的整数(c int),表示32位或64位整数位。 |
4 | intp | 它表示用于索引的整数。 |
5 | int8 | 它是8位整数,与字节相同。值的范围为-128到127。 | It is the 8-byte (64-bit) unsigned integer. |
6 | int16 | It is the 2-byte (16-bit) integer. The range is -32768 to 32767. |
7 | int32 | It is the 4-byte (32-bit) integer. The range is -2147483648 to 2147483647. |
8 | int64 | It is the 8-byte (64-bit) integer. The range is -9223372036854775808 to 9223372036854775807. |
9 | uint8 | It is the 1-byte (8-bit) unsigned integer. |
10 | uint16 | It is the 2-byte (16-bit) unsigned integer. |
11 | uint32 | It is the 4-byte (32-bit) unsigned integer. |
12 | uint64 | It is the 8 bytes (64-bit) unsigned integer. |
13 | float_ | It is identical to float64. |
14 | float16 | It is the half-precision float. 5 bits are reserved for the exponent. 10 bits are reserved for mantissa, and 1 bit is reserved for the sign. |
15 | float32 | It is a single precision float. 8 bits are reserved for the exponent, 23 bits are reserved for mantissa, and 1 bit is reserved for the sign. |
16 | float64 | It is the double precision float. 11 bits are reserved for the exponent, 52 bits are reserved for mantissa, 1 bit is used for the sign. |
17 | complex_ | It is identical to complex128. |
复数 | complex64 | 它由两个32位浮点数组成,一个表示实部和一个表示虚部。 |
18 | 复数 | complex128 | 它由两个64位浮点数组成,一个表示实部和一个表示虚部。 |
complex_ | 它与complex128相同。 | |
18 | complex64 | 用于表示复数,其中实部和虚部各占用32位。 |
19 | complex128 | 用于表示复数,其中实部和虚部各占用64位。 |
NumPy数据类型
所有的numpy数组项都是数据类型对象,也被称为numpy数据类型。数据类型对象实现了与数组对应的固定大小的内存。
我们可以使用以下语法创建一个数据类型对象。
numpy.dtype(object, align, copy)
构造函数接受以下对象。
对象: 它表示要转换为数据类型的对象。
对齐: 它可以设置为任意布尔值。如果为true,则会添加额外的填充以使其等效于C结构。
复制: 它创建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
创建结构化数据类型
我们可以创建一个类似于map(字典)的数据类型,其中包含值之间的映射关系。例如,它可以包含员工和薪水之间的映射关系,或者学生和年龄之间的映射关系等。
考虑以下示例。
示例1
import numpy as np
d = np.dtype([('salary',np.float)])
print(d)
输出:
[('salary', '
示例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 ,)]