趋近智
NumPy数组用于在Python中表示矩阵。矩阵是带有行和列的矩形数字网格,很自然地对应到二维(2D)NumPy数组。类似地,一维(1D)NumPy数组适合表示向量 (vector)。
numpy.array 创建矩阵创建矩阵最直接的方法是将列表的列表传递给numpy.array()函数。每个内部列表代表矩阵中的一行。
让我们来表示以下 矩阵(2行,3列):
在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]]
请注意,其结构直接反映了数学记号:外部列表包含两个内部列表,对应两行;每个内部列表包含三个元素,对应三列。
正如向量 (vector)一样,了解矩阵的维度(或“形状”)很重要,尤其当我们进行矩阵乘法等运算时。NumPy数组有一个方便的.shape属性,它返回一个表示维度的元组。对于二维数组(矩阵),该元组将是(行数, 列数)。
让我们来检查刚刚创建的矩阵A的形状:
# 获取矩阵A的维度(形状)
print(A.shape)
输出将是:
(2, 3)
这确认了A确实是一个 矩阵。
让我们创建一个 方阵(行数等于列数):
使用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,))表示向量,但它们也可以明确地表示为具有一列(列向量)或一行的矩阵(行向量)。
列向量(例如,):
col_vector = np.array([
[1],
[2],
[3]
])
print("列向量:\n", col_vector)
print("形状:", col_vector.shape) # 输出: (3, 1)
行向量(例如,):
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中表示矩阵的能力后,我们就可以研究您经常会遇到的不同类型的特殊矩阵了。
这部分内容有帮助吗?
shape等属性以及表示矩阵的基本用法。© 2026 ApX Machine LearningAI伦理与透明度•