Python中矩阵和数组的区别?

Python中矩阵和数组的区别?

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

Python中的矩阵

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

示例

创建并显示矩阵

from numpy import *

#创建矩阵
mat = array([['A',12,16],['B',11,13],
['C',20,19],['D',22,21],
['E',18,22],['F',12,18]])

#显示矩阵
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

#创建矩阵
mat = np.mat([[5,10],[15,20]])

#显示矩阵
print("Matrix = \n",mat)

输出

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

Python中的数组

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

示例

import numpy as np

#创建一个数组
arr= np.array([5, 10, 15, 20])

#显示数组
print("Array =\n")
for xin arr:
   print(x)

输出

Array =

5
10
15
20

使用Numpy数组进行矩阵运算

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

Python中矩阵和数组的区别?

示例

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

import numpy as np

#创建矩阵
mat1 = np.array([[5,10],[3,9]])
mat2 = np.array([[15,20],[10,11]])

#显示矩阵
print("矩阵 1 = \n",mat1)
print("矩阵 2 = \n",mat2)

输出

矩阵 1 = 
 [[ 5 10]
 [ 3  9]]
矩阵 2 = 
 [[15 20]
 [10 11]]

例子

让我们把上面的矩阵相乘 –

import numpy as np

#创建矩阵
mat1 = np.array([[5,10],[3,9]])
mat2 = np.array([[15,20],[10,11]])

#显示矩阵
print("矩阵 1 = \n",mat1)
print("矩阵 2 = \n",mat2)
mulMat = mat1@mat2
print("\n矩阵相乘 = \n",mulMat)

输出

矩阵 1 = 
 [[ 5 10]
 [ 3  9]]
矩阵 2 = 
 [[15 20]
 [10 11]]

矩阵相乘 = 
 [[175 210]
 [135 159]]

例子

获取转置 –

import numpy as np

#创建矩阵
mat1 = np.array([[5,10],[3,9]])
mat2 = np.array([[15,20],[10,11]])

#显示矩阵
print("矩阵 1 = \n",mat1)
print("矩阵 2 = \n",mat2)
mulMat = mat1@mat2
print("\n转置 = \n",mulMat.T)

输出

矩阵 1 = 
 [[ 5 10]
 [ 3  9]]
矩阵 2 = 
 [[15 20]
 [10 11]]

转置 = 
 [[175 135]
 [210 159]]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程