Python 中矩阵和数组的区别?


Python 中的数组是 ndarray 对象。矩阵对象严格为二维的,而 ndarray 对象可以是多维的。要创建 Python 中的数组,请使用 NumPy 库。

Python 中的矩阵

矩阵是二维数组的一种特殊情况,其中每个数据元素的大小都严格相同。矩阵是许多数学和科学计算的关键数据结构。每个矩阵也是一个二维数组,但反之则不然。矩阵对象是 ndarray 的子类,因此它们继承了 ndarray 的所有属性和方法。

示例

创建矩阵并显示

from numpy import * # Create a Matrix mat = array([['A',12,16],['B',11,13], ['C',20,19],['D',22,21], ['E',18,22],['F',12,18]]) # Display the Matrix print("Matrix = \n",mat)

输出

Matrix = 
 [['A' '12' '16']
 ['B' '11' '13']
 ['C' '20' '19']
 ['D' '22' '21']
 ['E' '18' '22']
 ['F' '12' '18']]

示例

使用 mat() 创建矩阵

mat() 函数将输入解释为矩阵 -

import numpy as np # Create a Matrix mat = np.mat([[5,10],[15,20]]) # Display the Matrix print("Matrix = \n",mat)

输出

Matrix = 
 [[ 5 10]
 [15 20]]

Python 中的数组

数组是一个容器,可以容纳固定数量的项,并且这些项必须是相同类型的。要在 Python 中使用数组,请导入 NumPy 库。

示例

import numpy as np # Create an array arr = np.array([5, 10, 15, 20]) # Display the Array print("Array =\n") for x in arr: print(x)

输出

Array =

5
10
15
20

使用 NumPy 数组进行矩阵运算

根据官方文档,类 numpy.matrix 将在未来被移除。因此,现在必须使用 NumPy 数组进行矩阵代数运算。


示例

现在让我们看看一些使用 NumPy 数组的矩阵运算符。首先,我们将使用数组创建一个矩阵 -

import numpy as np # Create Matrices mat1 = np.array([[5,10],[3,9]]) mat2 = np.array([[15,20],[10,11]]) # Display the Matrices print("Matrix1 = \n",mat1) print("Matrix2 = \n",mat2)

输出

Matrix1 = 
 [[ 5 10]
 [ 3  9]]
Matrix2 = 
 [[15 20]
 [10 11]]

示例

让我们将上述矩阵相乘 -

import numpy as np # Create Matrices mat1 = np.array([[5,10],[3,9]]) mat2 = np.array([[15,20],[10,11]]) # Display the Matrices print("Matrix1 = \n",mat1) print("Matrix2 = \n",mat2) mulMat = mat1@mat2 print("\nMatrix Multiplication = \n",mulMat)

输出

Matrix1 = 
 [[ 5 10]
 [ 3  9]]
Matrix2 = 
 [[15 20]
 [10 11]]

Matrix Multiplication = 
 [[175 210]
 [135 159]]

示例

获取转置 -

import numpy as np # Create Matrices mat1 = np.array([[5,10],[3,9]]) mat2 = np.array([[15,20],[10,11]]) # Display the Matrices print("Matrix1 = \n",mat1) print("Matrix2 = \n",mat2) mulMat = mat1@mat2 print("\nTranspose = \n",mulMat.T)

输出

Matrix1 = 
 [[ 5 10]
 [ 3  9]]
Matrix2 = 
 [[15 20]
 [10 11]]

Transpose = 
 [[175 135]
 [210 159]]

更新于: 2022年9月15日

4K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告