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]]
广告