Heim > Backend-Entwicklung > Python-Tutorial > Methoden zum Konvertieren von Matrizen in Listen und andere Funktionen in Pythons Numpy-Bibliothek_python

Methoden zum Konvertieren von Matrizen in Listen und andere Funktionen in Pythons Numpy-Bibliothek_python

不言
Freigeben: 2018-04-04 16:27:09
Original
2804 Leute haben es durchsucht

Der folgende Artikel wird Ihnen eine Methode zum Konvertieren von Matrizen in Listen und andere Funktionen in der Numpy-Bibliothek von Python vorstellen. Sie hat einen guten Referenzwert und ich hoffe, dass sie für alle hilfreich ist. Werfen wir gemeinsam einen Blick darauf

Dieser Artikel stellt hauptsächlich einige Funktionen in der Numpy-Bibliothek von Python vor und erstellt ein Backup für eine einfache Suche.

(1) Funktion zum Konvertieren einer Matrix in eine Liste: numpy.matrix.tolist()

Listenliste zurückgeben

Beispiele

>>>

>>> x = np.matrix(np.arange(12).reshape((3,4))); x
matrix([[ 0, 1, 2, 3],
  [ 4, 5, 6, 7],
  [ 8, 9, 10, 11]])
>>> x.tolist()
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]
Nach dem Login kopieren

(2) Funktion um ein Array in eine Liste umzuwandeln: numpy.ndarray.tolist()

Hinweise: (Array kann rekonstruiert werden)

Das Array kann neu erstellt werden, a= np.array (a.tolist()).

Beispiele

>>>

>>> a = np.array([1, 2])
>>> a.tolist()
[1, 2]
>>> a = np.array([[1, 2], [3, 4]])
>>> list(a)
[array([1, 2]), array([3, 4])]
>>> a.tolist()
[[1, 2], [3, 4]]
Nach dem Login kopieren

(3) numpy.mean() berechnet den Mittelwert einer Matrix oder eines Arrays:

Beispiele

>>>

>>> a = np.array([[1, 2], [3, 4]]) #对所有元素求均值
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0) #对每一列求均值
array([ 2., 3.])
>>> np.mean(a, axis=1) #对每一行求均值
array([ 1.5, 3.5])
Nach dem Login kopieren

(4) numpy.std() Standard zur Berechnung von Matrizen oder Arrays Schlecht :

Beispiele

>>>

>>> a = np.array([[1, 2], [3, 4]]) #对所有元素求标准差 
>>> np.std(a)
1.1180339887498949
>>> np.std(a, axis=0) #对每一列求标准差
array([ 1., 1.])
>>> np.std(a, axis=1) #对每一行求标准差
array([ 0.5, 0.5])
Nach dem Login kopieren

(5) numpy.newaxis fügt dem Array eine Dimension hinzu:

Beispiele:

>>> a=np.array([[1,2,3],[4,5,6],[7,8,9]]) #先输入3行2列的数组a
>>> b=a[:,:2] 
>>> b.shape #当数组的行与列都大于1时,不需增加维度
(3, 2)
>>> c=a[:,2] 
>>> c.shape #可以看到,当数组只有一列时,缺少列的维度
(3,)
>>> c
array([3, 6, 9])
Nach dem Login kopieren

>>> d=a[:,2,np.newaxis] #np.newaxis实现增加列的维度
>>> d
array([[3],
  [6],
  [9]])
>>> d.shape  #d的维度成了3行1列(3,1)
(3, 1)
>>> e=a[:,2,None] #None与np.newaxis实现相同的功能
>>> e
array([[3],
  [6],
  [9]])
>>> e.shape
(3, 1)
Nach dem Login kopieren

(6) numpy.random.shuffle(index): Mischt den Datensatz Reihenfolge von (Array):

Beispiele:

>>> index = [i for i in range(10)] 
>>> index 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> np.random.shuffle(index) 
>>> index 
[7, 9, 3, 0, 4, 1, 5, 2, 8, 6]
Nach dem Login kopieren

(7) Berechnen Sie den Maximal- und Minimalwert einer Zeile oder Spalte eines zweidimensionalen Arrays:

>>> import numpy as np 
>>> a = np.arange(15).reshape(5,3) #构造一个5行3列的二维数组 
>>> a 
array([[ 0, 1, 2], 
  [ 3, 4, 5], 
  [ 6, 7, 8], 
  [ 9, 10, 11], 
  [12, 13, 14]]) 
>>> b = a[:,0].min() ##取第0列的最小值,其他列同理 
>>> b 
0 
>>> c = a[0,:].max() ##取第0行的最大值,其他行同理 
>>> c 
2
Nach dem Login kopieren

(8) Spalten zum Array hinzufügen: np.hstack()

n = np.array(np.random.randn(4,2)) 
 
n 
Out[153]: 
array([[ 0.17234 , -0.01480043], 
  [-0.33356669, -1.33565616], 
  [-1.11680009, 0.64230761], 
  [-0.51233174, -0.10359941]]) 
 
l = np.array([1,2,3,4]) 
 
l 
Out[155]: array([1, 2, 3, 4]) 
 
l.shape 
Out[156]: (4,)
Nach dem Login kopieren

Wie Sie Wie Sie sehen können, ist n zweidimensional und l eindimensional. Wenn np.hstack() direkt aufgerufen wird, tritt ein Fehler auf: Die Dimensionen sind unterschiedlich.

n = np.hstack((n,l)) 
ValueError: all the input arrays must have same number of dimensions
Nach dem Login kopieren

Die Lösung besteht darin, l in zweidimensional umzuwandeln. Sie können die Methode in (5) verwenden:

n = np.hstack((n,l[:,np.newaxis])) ##注意:在使用np.hstack()时必须用()把变量括起来,因为它只接受一个变量 
 
n 
Out[161]: 
array([[ 0.17234 , -0.01480043, 1.  ], 
  [-0.33356669, -1.33565616, 2.  ], 
  [-1.11680009, 0.64230761, 3.  ], 
  [-0.51233174, -0.10359941, 4.  ]])
Nach dem Login kopieren

So fügen Sie Werte spaltenweise zu einer leeren Liste hinzu:

n = np.array([[1,2,3,4,5,6],[11,22,33,44,55,66],[111,222,333,444,555,666]]) ##产生一个三行六列容易区分的数组 
 
n 
Out[166]: 
array([[ 1, 2, 3, 4, 5, 6], 
  [ 11, 22, 33, 44, 55, 66], 
  [111, 222, 333, 444, 555, 666]]) 
 
sample = [[]for i in range(3)] ##产生三行一列的空列表 
Out[172]: [[], [], []] 
for i in range(0,6,2): ##每间隔一列便添加到sample中 
 sample = np.hstack((sample,n[:,i,np.newaxis]))  
  
 
sample 
Out[170]: 
array([[ 1., 3., 5.], 
  [ 11., 33., 55.], 
  [ 111., 333., 555.]])
Nach dem Login kopieren

Kontinuierliche Aktualisierung...

Verwandte Empfehlungen:

Pythons Numpy-Bibliothek

Hinweise zur Installation und Verwendung der Python NumPy-Bibliothek

Das obige ist der detaillierte Inhalt vonMethoden zum Konvertieren von Matrizen in Listen und andere Funktionen in Pythons Numpy-Bibliothek_python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage