NumPy数组用于在Python中表示矩阵。矩阵是带有行和列的矩形数字网格,很自然地对应到二维(2D)NumPy数组。类似地,一维(1D)NumPy数组适合表示向量。使用 numpy.array 创建矩阵创建矩阵最直接的方法是将列表的列表传递给numpy.array()函数。每个内部列表代表矩阵中的一行。让我们来表示以下 $2 \times 3$ 矩阵(2行,3列):$$ A = \begin{bmatrix} 1 & 2 & 3 \ 4 & 5 & 6 \end{bmatrix} $$在Python中使用NumPy,我们会这样创建它:import numpy as np # 从列表的列表中创建2x3矩阵 A = np.array([ [1, 2, 3], # 第一行 [4, 5, 6] # 第二行 ]) print(A)输出将显示NumPy数组的表示形式:[[1 2 3] [4 5 6]]请注意,其结构直接反映了数学记号:外部列表包含两个内部列表,对应两行;每个内部列表包含三个元素,对应三列。检查矩阵维度正如向量一样,了解矩阵的维度(或“形状”)很重要,尤其当我们进行矩阵乘法等运算时。NumPy数组有一个方便的.shape属性,它返回一个表示维度的元组。对于二维数组(矩阵),该元组将是(行数, 列数)。让我们来检查刚刚创建的矩阵A的形状:# 获取矩阵A的维度(形状) print(A.shape)输出将是:(2, 3)这确认了A确实是一个 $2 \times 3$ 矩阵。另一个例子:方阵让我们创建一个 $3 \times 3$ 方阵(行数等于列数):$$ B = \begin{bmatrix} 9 & 8 & 7 \ 6 & 5 & 4 \ 3 & 2 & 1 \end{bmatrix} $$使用NumPy:# 创建一个3x3矩阵 B = np.array([ [9, 8, 7], [6, 5, 4], [3, 2, 1] ]) print("矩阵B:") print(B) # 检查其形状 print("\nB的形状:") print(B.shape)输出:Matrix B: [[9 8 7] [6 5 4] [3 2 1]] Shape of B: (3, 3)正如预期的那样,形状是 (3, 3)。将向量表示为矩阵值得注意的是,虽然我们经常使用一维NumPy数组(例如np.array([1, 2, 3]),形状为(3,))表示向量,但它们也可以明确地表示为具有一列(列向量)或一行的矩阵(行向量)。列向量(例如,$3 \times 1$):col_vector = np.array([ [1], [2], [3] ]) print("列向量:\n", col_vector) print("形状:", col_vector.shape) # 输出: (3, 1)行向量(例如,$1 \times 3$):row_vector = np.array([ [1, 2, 3] ]) print("\n行向量:\n", row_vector) print("形状:", row_vector.shape) # 输出: (1, 3)这种一维数组(形状为(n,))与其中一个维度为1的二维数组(形状为(n, 1)或(1, n))之间的区别在某些NumPy运算中变得重要,特别是那些涉及矩阵乘法的运算。目前,主要的一点是通用矩阵表示为二维NumPy数组,通常由列表的列表创建。具备在Python中表示矩阵的能力后,我们就可以研究您经常会遇到的不同类型的特殊矩阵了。