NumPy 数据类型

2024年11月10日 NumPy 数据类型 极客笔记

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 ,)]

本文链接:http://so.lmcjl.com/news/17481/

展开阅读全文