简介
本实验提供了一份关于如何使用 NumPy 创建数组的分步指南,NumPy 是 Python 中用于数组容器的基础库。你将学习不同的数组创建方法,包括转换 Python 序列、使用 NumPy 内部的数组创建函数、复制和连接现有数组、从磁盘读取数组、从原始字节创建数组以及使用特殊库函数。
注意:你可以在
01-array-creation.ipynb
中编写代码。步骤中省略了一些打印操作,你可以根据需要打印输出。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
本实验提供了一份关于如何使用 NumPy 创建数组的分步指南,NumPy 是 Python 中用于数组容器的基础库。你将学习不同的数组创建方法,包括转换 Python 序列、使用 NumPy 内部的数组创建函数、复制和连接现有数组、从磁盘读取数组、从原始字节创建数组以及使用特殊库函数。
注意:你可以在
01-array-creation.ipynb
中编写代码。步骤中省略了一些打印操作,你可以根据需要打印输出。
要创建 NumPy 数组,你可以转换诸如列表和元组之类的 Python 序列。以下是操作方法:
import numpy as np
## 从列表创建一维数组
a1D = np.array([1, 2, 3, 4])
## 从列表的列表创建二维数组
a2D = np.array([[1, 2], [3, 4]])
## 从嵌套列表创建三维数组
a3D = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
创建数组时,你还可以使用 dtype
参数指定数据类型。在进行数据类型赋值时要小心,以避免溢出或意外结果。
NumPy 提供了用于创建数组的内置函数。以下是一些示例:
import numpy as np
## 创建一个值按规律递增的一维数组
arr1D = np.arange(10)
## 创建一个具有特定数据类型的一维数组
arr1D_float = np.arange(2, 10, dtype=float)
## 创建一个具有指定元素数量的一维数组
arr1D_linspace = np.linspace(1., 4., 6)
## 创建一个二维单位矩阵
identity_matrix = np.eye(3)
## 创建一个沿对角线具有给定值的二维数组
diag_matrix = np.diag([1, 2, 3])
## 创建一个范德蒙德矩阵
vander_matrix = np.vander([1, 2, 3, 4], 2)
## 创建一个全零数组
zeros_array = np.zeros((2, 3))
## 创建一个全一数组
ones_array = np.ones((2, 3))
## 创建一个填充随机值的数组
random_array = np.random.default_rng(42).random((2, 3))
创建数组后,你可以对其进行复制、连接或修改以创建新数组。将数组或其元素赋给新变量时,使用 np.copy
函数创建新数组,而不是创建原始数组的视图。以下是一个示例:
import numpy as np
## 创建一个数组
a = np.array([1, 2, 3, 4])
## 创建该数组前两个元素的视图
b = a[:2]
## 修改视图
b += 1
## 打印原始数组和修改后的视图
print('a =', a, '; b =', b)
要连接数组,可以使用 np.vstack
、np.hstack
和 np.block
等函数。以下是使用 np.block
将四个 2x2 数组连接成一个 4x4 数组的示例:
import numpy as np
A = np.ones((2, 2))
B = np.eye(2)
C = np.zeros((2, 2))
D = np.diag((-3, -4))
result = np.block([[A, B], [C, D]])
你可以以各种格式从磁盘读取数组。对于标准二进制格式,有像用于 HDF5 的 h5py 和用于 FITS 的 Astropy 这样的 Python 库。对于像 CSV 和 TSV 这样的常见 ASCII 格式,你可以使用 np.loadtxt
和 np.genfromtxt
函数。以下是读取 CSV 文件的示例:
import numpy as np
data = np.loadtxt('data.csv', delimiter=',', skiprows=1)
在本实验中,你学习了如何使用 NumPy 创建数组。你学习了不同的方法,包括转换 Python 序列、使用 NumPy 内部数组创建函数、复制和连接现有数组、从磁盘读取数组、从原始字节创建数组以及使用特殊库函数。通过这些技术,你可以有效地创建和操作数组,以用于各种科学和数据分析任务。