Heim > Artikel > Backend-Entwicklung > Beispielcode-Freigabe für allgemeine Operationen in Python-Matrizen
Dieser Artikel stellt hauptsächlich die allgemeinen Operationen von Python-Matrizen vor. Er fasst die Erstellung von Python-Matrizen und die Implementierungsmethoden für Multiplikation, Inversion, Transposition und andere verwandte Operationen in Form von Beispielen zusammen.
Die Beispiele in diesem Artikel beschreiben gängige Matrixoperationen in Python. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Pythons Numpy-Bibliothek stellt Matrixoperationen bereit. Wenn wir also Matrixoperationen benötigen, müssen wir das Numpy-Paket importieren.
1. Import und Verwendung von Numpy
from numpy import *;#导入numpy的库函数 import numpy as np; #这个方式使用numpy的函数时,需要以np.开头。
2 .Erstellung von Matrizen
Matrizen aus ein- oder zweidimensionalen Daten erstellen
from numpy import *; a1=array([1,2,3]); a1=mat(a1);
Gemeinsame Matrizen erstellen
data1=mat(zeros((3,3))); #创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3) data2=mat(ones((2,4))); #创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int data3=mat(random.rand(2,2)); #这里的random模块使用的是numpy中的random模块,random.rand(2,2)创建的是一个二维数组,需要将其转换成#matrix data4=mat(random.randint(10,size=(3,3))); #生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数 data5=mat(random.randint(2,8,size=(2,5)); #产生一个2-8之间的随机整数矩阵 data6=mat(eye(2,2,dtype=int)); #产生一个2*2的对角矩阵 a1=[1,2,3]; a2=mat(diag(a1)); #生成一个对角线为1、2、3的对角矩阵
3. Gemeinsame Matrixoperationen
1 🎜>
a1=mat([1,2]); a2=mat([[1],[2]]); a3=a1*a2; #1*2的矩阵乘以2*1的矩阵,得到1*1的矩阵2. Matrixpunktmultiplikation
Multiplikation entsprechender Elemente der Matrix
a1=mat([1,1]); a2=mat([2,2]); a3=multiply(a1,a2);
a1=mat([2,2]); a2=a1*2;3. Matrixinversion, Transponierung
Matrixsuche die Umkehrung
a1=mat(eye(2,2)*0.5); a2=a1.I; #求矩阵matrix([[0.5,0],[0,0.5]])的逆矩阵
a1=mat([[1,1],[0,0]]); a2=a1.T;4 Spalten der Matrix Das Maximum, das Minimum und die Summe von .
a1=mat([[1,1],[2,3],[4,2]]);
a2=a1.sum(axis=0);//列和,这里得到的是1*2的矩阵 a3=a1.sum(axis=1);//行和,这里得到的是3*1的矩阵 a4=sum(a1[1,:]);//计算第一行所有列的和,这里得到的是一个数值
a1.max();//计算a1矩阵中所有元素的最大值,这里得到的结果是一个数值 a2=max(a1[:,1]);//计算第二列的最大值,这里得到的是一个1*1的矩阵 a1[1,:].max();//计算第二行的最大值,这里得到的是一个一个数值 np.max(a1,0);//计算所有列的最大值,这里使用的是numpy中的max函数 np.max(a1,1);//计算所有行的最大值,这里得到是一个矩阵 np.argmax(a1,0);//计算所有列的最大值对应在该列中的索引 np.argmax(a1[1,:]);//计算第二行中最大值对应在改行的索引5. Trennung und Zusammenführung von Matrizen
Die Trennung von Matrizen ist dasselbe als konsequente Trennung von Listen und Arrays.
a=mat(ones((3,3))); b=a[1:,1:];//分割出第二行以后的行和第二列以后的列的所有元素
a=mat(ones((2,2))); b=mat(eye(2)); c=vstack((a,b));//按列合并,即增加行数 d=hstack((a,b));//按行合并,即行数不变,扩展列数
4. Matrizen, Listen , Array-Konvertierung Die Liste kann wie folgt geändert werden und die Elemente in der Liste können unterschiedliche Datentypen sein:
l1=[[1],'hello',3];
a=array([[2],[1]]); dimension=a.ndim; m,n=a.shape; number=a.size;//元素总个数 str=a.dtype;//元素的类型
Konvertierung zwischen ihnen:
a1=[[1,2],[3,2],[5,2]];//列表 a2=array(a1);//将列表转换成二维数组 a3=array(a1);//将列表转化成矩阵 a4=array(a3);//将矩阵转换成数组 a5=a3.tolist();//将矩阵转换成列表 a6=a2.tolist();//将数组转换成列表
a1=[1,2,3]; a2=array(a1); a3=mat(a1); a4=a2.tolist();//这里得到的是[1,2,3] a5=a3.tolist();//这里得到的是[[1,2,3]] a6=(a4 == a5);//a6=False a7=(a4 is a5[0]);//a7=True,a5[0]=[1,2,3]
Das obige ist der detaillierte Inhalt vonBeispielcode-Freigabe für allgemeine Operationen in Python-Matrizen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!