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
>>>
1 2 3 4 5 6 | >>> 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
>>>
1 2 3 4 5 6 7 8 | >>> 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
>>>
1 2 3 4 5 6 7 | >>> 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
>>>
1 2 3 4 5 6 7 | >>> 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:
1 2 3 4 5 6 7 8 9 | >>> 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | >>> 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:
1 2 3 4 5 6 | >>> 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | >>> 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()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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.
1 2 | 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:
1 2 3 4 5 6 7 8 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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!