Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielcode-Freigabe für allgemeine Operationen in Python-Matrizen

Beispielcode-Freigabe für allgemeine Operationen in Python-Matrizen

黄舟
黄舟Original
2017-10-03 05:46:481899Durchsuche

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


Matrixpunktprodukt
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


Matrixtransponierung
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 .


Berechnen Sie die Summe jeder Spalte und Zeile
a1=mat([[1,1],[2,3],[4,2]]);


Berechnen Sie das Maximum und Mindestwerte und Indizes
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.


Zusammenführung von Matrizen
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:


Arrays in Numpy, alle Elemente im selben Array müssen vom gleichen Typ sein und mehrere gemeinsame Attribute haben:
l1=[[1],'hello',3];


Matrix in Numpy ist Auch bei Arrays sind mehrere Attribute üblich.
a=array([[2],[1]]);
dimension=a.ndim;
m,n=a.shape;
number=a.size;//元素总个数
str=a.dtype;//元素的类型

Konvertierung zwischen ihnen:


Hier können Sie feststellen, dass die Konvertierung zwischen den dreien sehr einfach ist , Wenn die Liste eindimensional ist, ist die Konvertierung in ein Array oder eine Matrix und die anschließende Konvertierung in eine Liste über tolist() unterschiedlich und erfordert einige geringfügige Änderungen. Wie folgt:
a1=[[1,2],[3,2],[5,2]];//列表
a2=array(a1);//将列表转换成二维数组
a3=array(a1);//将列表转化成矩阵
a4=array(a3);//将矩阵转换成数组
a5=a3.tolist();//将矩阵转换成列表
a6=a2.tolist();//将数组转换成列表


Die Matrix wird in einen numerischen Wert umgewandelt. Es liegt eine der folgenden Situationen vor:
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn