简介
本实验将提供一份循序渐进的指南,帮助你了解 NumPy 中可用的不同数据类型,以及如何修改数组的数据类型。NumPy 支持多种数值类型,包括布尔值、整数、浮点数和复数。了解这些数据类型对于使用 NumPy 执行各种数值计算和数据分析任务非常重要。
注意:你可以在
04-data-types.ipynb
中编写代码。步骤中省略了一些打印操作,你可以根据需要打印输出。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
本实验将提供一份循序渐进的指南,帮助你了解 NumPy 中可用的不同数据类型,以及如何修改数组的数据类型。NumPy 支持多种数值类型,包括布尔值、整数、浮点数和复数。了解这些数据类型对于使用 NumPy 执行各种数值计算和数据分析任务非常重要。
注意:你可以在
04-data-types.ipynb
中编写代码。步骤中省略了一些打印操作,你可以根据需要打印输出。
NumPy 支持多种与 C 编程语言紧密相关的数值类型。以下是 NumPy 中一些最常用的数据类型:
numpy.bool_
:布尔值(True 或 False),存储为一个字节numpy.byte
:有符号字符(取决于平台)numpy.ubyte
:无符号字符(取决于平台)numpy.short
:短整型(取决于平台)numpy.ushort
:无符号短整型(取决于平台)numpy.intc
:整型(取决于平台)numpy.uintc
:无符号整型(取决于平台)numpy.int_
:长整型(取决于平台)numpy.uint
:无符号长整型(取决于平台)numpy.longlong
:长长整型(取决于平台)numpy.ulonglong
:无符号长长整型(取决于平台)numpy.half
/ numpy.float16
:半精度浮点数numpy.single
:单精度浮点数(取决于平台)numpy.double
:双精度浮点数(取决于平台)numpy.longdouble
:扩展精度浮点数(取决于平台)numpy.csingle
:由两个单精度浮点数表示的复数numpy.cdouble
:由两个双精度浮点数表示的复数numpy.clongdouble
:由两个扩展精度浮点数表示的复数这些数据类型的定义取决于平台,但为了方便起见,NumPy 也提供了固定大小的别名。
NumPy 数据类型由 dtype
(数据类型)对象表示。使用 import numpy as np
导入 NumPy 后,你可以通过 np.bool_
、np.float32
等访问数据类型。
你可以将数据类型用作函数,将 Python 数字转换为数组标量,将 Python 数字序列转换为该类型的数组,或者在许多 NumPy 函数或方法中作为 dtype
关键字的参数。以下是一些示例:
x = np.float32(1.0)
## x 现在是一个值为 1.0 的 float32 数组标量
y = np.int_([1,2,4])
## y 现在是一个值为 [1, 2, 4] 的 int 数组
z = np.arange(3, dtype=np.uint8)
## z 现在是一个值为 [0, 1, 2] 的 uint8 数组
你也可以使用字符代码引用数组类型,不过建议使用 dtype
对象。例如:
np.array([1, 2, 3], dtype='f')
## 返回一个值为 [1., 2., 3.] 且数据类型为 float32 的数组
要转换数组的类型,可以使用 .astype()
方法,也可以将类型本身用作函数。例如:
z.astype(float)
## 返回数据类型为 float64 的数组 z
np.int8(z)
## 返回数据类型为 int8 的数组 z
要确定数组的数据类型,可以访问 dtype
属性。例如:
z.dtype
## 返回数组 z 的数据类型,即 uint8
dtype
对象还包含有关该类型的信息,例如其位宽和字节顺序。可以使用 dtype
对象查询类型的属性,例如它是否为整数。例如:
d = np.dtype(int)
## 创建一个用于 int 的 dtype 对象
np.issubdtype(d, np.integer)
## 返回 True,表示 d 是 np.integer 的子数据类型
np.issubdtype(d, np.floating)
## 返回 False,表示 d 不是 np.floating 的子数据类型
在本实验中,你学习了 NumPy 中可用的不同数值数据类型以及如何使用它们。你可以使用 dtype
对象将 Python 数字转换为数组标量、创建特定类型的数组以及修改数组的数据类型。理解数据类型对于使用 NumPy 执行数值计算和数据分析任务非常重要。