NumPy 数据类型
原文:https://www.studytonight.com/numpy/python-numpy-data-types
在本教程中,我们将介绍 Numpy 库中的数据类型。
在 Numpy 中,数组的所有项都是数据类型对象,也称为 NumPy 数据类型。数据类型对象用于实现一个数组对应的固定大小的内存。
它主要为我们提供以下信息:
它为我们提供了关于数据类型(即
integer
、float
或 Pythonobject
)的信息它为我们提供了关于数据大小的信息
它告诉我们字节顺序(小端或大端)
在结构化类型的情况下,它告诉我们字段的名称,每个字段的数据类型,以及每个字段所取的内存块的部分。
在这种情况下,如果数据类型是子阵列,它会告诉我们它的形状和数据类型
在这种情况下,字节顺序仅由数据类型的前缀“”决定。其中符号“编码是小端(最低有效字节存储在最小地址中),符号“>”表示编码是大端(最高有效字节存储在最小地址中)。
num py〔t0〕对象
下面给出了创建dtype
对象所需的语法:
numpy.dtype(object, align, copy)
以下是上述构造器的参数描述:
对象: 此参数用于表示要转换为数据类型的对象。
align: 这是一个可选参数,用于向字段添加填充,以匹配 C 编译器为类似的 C 结构输出的内容。该参数可以设置为任何布尔值
副本: 该参数用于创建
dtype
对象的副本,也是可选的参数。
NumPy 库主要提供比 Python 提供的范围更高的数值数据类型。下表列出了数字数据类型:
| 塞内加尔 | 数据类型 | 描述 |
| one | bool_
| 这用于表示指示真或假的布尔值。它以字节形式存储。 |
| Two | int_
| 这是整数的默认类型。它与 C 语言中主要包含 64 位或 32 位整数的长类型相同。 |
| three | intc
| 这类似于 C 整数(c int),因为它代表 32 或 64 位 int。 |
| four | intp
| 这用于表示用于索引的整数。 |
| five | int8
| 这是与一个字节相同的 8 位整数。该值的范围是-128 到 127。 |
| six | int16
| 这是 2 字节(16 位)整数,范围是-32768 到 32767。 |
| seven | int32
| 这是 4 字节(32 位)整数。范围是-2147483648 到 2147483647。 |
| eight | int64
| 这是 8 字节(64 位)整数,范围是-9223372036854775808 到 9223372036854775807。 |
| nine | uint8
| 这是一个 1 字节(8 位)无符号整数。 |
| Ten | uint16
| 这是一个 2 字节(16 位)无符号整数。 |
| Eleven | uint32
| 这是一个 4 字节(32 位)无符号整数。 |
| Twelve | uint64
| 这是 8 字节(64 位)无符号整数。 |
| Thirteen | float_
| 这与浮动 64 相同。 |
| Fourteen | float16
| 这用于表示半精度浮点。为指数保留 5 位。尾数保留 10 位,符号保留 1 位。 |
| Fifteen | float32
| 这用于表示单精度浮点。8 位用于指数,23 位用于尾数,1 位用于符号。 |
| Sixteen | float64
| 这用于表示双精度浮点。11 位用于指数,52 位用于尾数,1 位用于符号。 |
| Seventeen | complex_
| 这与 complex128 相同。 |
| Eighteen | complex64
| 这用于表示复数,其中实部和虚部各占 32 位。 |
| Nineteen | complex128
| 这用于表示复数,其中实部和虚部各占 64 位。 |
下面给出了用于在 Numpy 中表示dtype
的字符列表:
i
-整数b
- 布尔值u
-无符号整数f
-浮动c
-复杂浮动m
时距M
- 日期时间O
-对象S
-弦U
- 统一码字符串V
-其他类型的固定内存块(void)
现在是时候深入研究一些例子了。
例 1:
在下面给出的例子中,我们将尝试找出包含字符串的数组的数据类型:
import numpy as np
ar1 = np.array(['chair', 'book', 'notebook'])
print(ar1.dtype)
< U8
例 2:
在下面给出的例子中,我们将构造一个数据类型对象。这里需要注意的是,数据类型对象主要是numpy.dtype
类的一个实例,也可以使用numpy.dtype
函数创建。让我们看看:
import numpy as np
dt1 = np.dtype(np.int64)
print (dt1)
int64
例 3:
而不是使用 int8、int16、int32、int64 等。通常,使用字符串“i1”、“i2”、“i3”和“i4”等更简单的表示是优选的。现在我们将看到一个与此相关的示例:
import numpy as np
a = np.dtype('i4')
print (a)
int32
例 4:
在下面的例子中,我们将创建一个结构化数据类型,然后将其应用于一个ndarray
对象:
import numpy as np
# info with ket and value
a = np.dtype([('rollno',np.int16)])
print(a)
a = np.array([(101,),(201,),(301,)], dtype = a)
print (a)
[(‘roll no’,<I2’] [(101,)(201,)(301,]
示例 5 -更改数据类型:
在下面给出的示例中,我们将使用int
作为参数值,将数据类型从float
更改为integer
:
import numpy as np
ar= np.array([1.1, 2.1, 3.1])
newarr = ar.astype(int)
print(newarr)
print(newarr.dtype)
【1 2 3】 int 32
摘要
在本教程中,我们介绍了数组中数据类型的概念。我们看到了如何使用dtype
对象来指定值的数据类型、语法以及dtype
对象所需的参数。我们还介绍了各种数字数据类型,以及几个供您理解的示例。