Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man eine Matrix in Python mit Numpy reduzieren?

Wie kann man eine Matrix in Python mit Numpy reduzieren?

WBOY
WBOYnach vorne
2023-08-20 16:37:131095Durchsuche

Wie kann man eine Matrix in Python mit Numpy reduzieren?

In diesem Artikel zeigen wir Ihnen, wie Sie eine Matrix mithilfe der NumPy-Bibliothek in Python reduzieren.

numpy.ndarray.flatten() Funktion

Das Numpy-Modul enthält eine Funktion namens numpy.ndarray.flatten(), die eine eindimensionale Kopie des Arrays anstelle eines zweidimensionalen oder mehrdimensionalen Arrays zurückgibt.

Einfach ausgedrückt können wir sagen, dass die Matrix dadurch auf eine Dimension abgeflacht wird.

Grammatik

ndarray.flatten(order='C')

Parameter

order − 'C', 'F', 'A', 'K' (optional)

  • Wenn wir die Sortierparameter auf 'C,' setzen, wird das Array in der Zeilenhauptreihenfolge abgeflacht.

  • Wenn das „F“ festgelegt ist, wird das Array in der Reihenfolge „Spalten-Haupt“ abgeflacht.

  • Das Array wird nur dann in der Hauptreihenfolge der Spalten erweitert, wenn „a“ Fortran im Speicher zusammenhängend ist und der Ordnungsparameter auf „A“ gesetzt ist. Die letzte Reihenfolge ist „K“, wodurch das Array in derselben Reihenfolge entpackt wird, in der die Elemente im Speicher erscheinen. Dieser Parameter ist standardmäßig auf „C“ eingestellt.

Rückgabewert – Gibt eine abgeflachte 1-D-Matrix zurück

Methode 1 – Reduzieren der 2x2 Numpy-Matrix vom Typ np.array()

Algorithmus (Schritte)

Hier sind die Algorithmen/Schritte zum Ausführen der erforderlichen Aufgabe:

  • Verwenden Sie das Schlüsselwort import, um das

    numpy-Modul mit einem Alias ​​(np) zu importieren.

  • Verwenden Sie die Funktion

    numpy.array() (die ein Ndarray zurückgibt. Ein Ndarray ist ein Array-Objekt, das die angegebenen Anforderungen erfüllt), um ein Numpy-Array zu erstellen, indem Sie ein zweidimensionales Array (2 Zeilen, 2 Spalten) als übergeben Argument dazu.

  • Drucken Sie die angegebene 2D-Matrix.

  • Wenden Sie die Funktion

    flatten() des Numpy-Moduls (Matrix auf eine Dimension reduzieren) auf die Eingabematrix an, um die zweidimensionale Eingabematrix in eine eindimensionale Matrix zu reduzieren.

  • Drucken Sie die resultierende abgeflachte Matrix der Eingabematrix.

Beispiel

Das folgende Programm reduziert die gegebene zweidimensionale Eingabematrix mit der Funktion flatten() auf eine eindimensionale Matrix und gibt sie −

zurück

# importing numpy module with an alias name
import numpy as np

# creating a 2-Dimensional(2x2) numpy matrix
inputMatrix = np.array([[3, 5], [4, 8]])

# printing the input 2D matrix
print("The input numpy matrix:")
print(inputMatrix)

# flattening the 2D matrix to one-dimensional matrix
flattenMatrix = inputMatrix.flatten()

# printing the resultant flattened matrix
print("Resultant flattened matrix:")
print(flattenMatrix)

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

The input numpy matrix:
[[3 5]
[4 8]]
Resultant flattened matrix:
[3 5 4 8]

Methode 2 – Abflachen mit der Funktion reshape()

Algorithmus (Schritte)

Hier sind die Algorithmen/Schritte zum Ausführen der erforderlichen Aufgabe:

  • Verwenden Sie die Funktion

    numpy.array() (gibt ein Ndarray zurück. Das Ndarray ist ein Array-Objekt, das die angegebenen Anforderungen erfüllt), um ein Numpy-Array zu erstellen, indem Sie das 4-dimensionale Array (4 Zeilen, 4 Spalten) als Argument übergeben dazu.

  • Drucken Sie die angegebene 4D-Matrix.

  • Berechnen Sie die Anzahl der Elemente einer Matrix, indem Sie die Länge des NumPy-Arrays mit sich selbst multiplizieren. Diese Werte stellen die erforderliche Anzahl von Spalten dar.

  • Verwenden Sie die Funktion

    reshape() (formt ein Array um, ohne seine Daten zu beeinflussen), um das Array umzuformen und die Eingabematrix (4D) auf eine eindimensionale Matrix zu reduzieren.

  • Drucken Sie die resultierende abgeflachte Matrix der Eingabematrix.

Beispiel

Das folgende Programm verwendet die Funktion reshape(), um die gegebene 4-dimensionale Matrix in eine 1-dimensionale Matrix zu reduzieren und gibt das Ergebnis -

zurück

# importing numpy module with an alias name
import numpy as np

# creating a 4-Dimensional(4x4) numpy matrix
inputMatrix = np.array([[1, 2, 3, 97],
   [4, 5, 6, 98],
   [7, 8, 9, 99],
   [10, 11, 12, 100]])

# Getting the total Number of elements of the matrix
matrixSize = len(inputMatrix) * len(inputMatrix)

# printing the input 4D matrix
print("The input numpy matrix:")
print(inputMatrix)

# reshaping the array and flattening the 4D matrix to a one-dimensional matrix

# here (1,matrixSize(16)) says 1 row and 16 columns(Number of elements)
flattenMatrix= np.reshape(inputMatrix, (1, matrixSize))

# printing the resultant flattened matrix
print("Resultant flattened matrix:")
print(flattenMatrix)

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

The input numpy matrix:
[[  1   2   3  97]
 [  4   5   6  98]
 [  7   8   9  99]
 [ 10  11  12 100]]
Resultant flattened matrix:
[[  1   2   3  97   4   5   6  98   7   8   9  99  10  11  12 100]]

Methode 3 – Reduzieren der 4x4-Numpy-Matrix vom Typ np.matrix()

Die chinesische Übersetzung lautet: Methode 3 – Reduzieren der 4x4-Numpy-Matrix vom Typ np.matrix()

Algorithmus (Schritte)

Hier sind die Algorithmen/Schritte zum Ausführen der erforderlichen Aufgabe:

  • Verwenden Sie die Funktion

    numpy.matrix() (die eine Matrix aus einer Datenzeichenfolge oder einem Array-ähnlichen Objekt zurückgibt. Die resultierende Matrix ist ein spezialisiertes 4D-Array), indem Sie ein 4D-Array (4 Zeilen, 4 Spalten) übergeben ) als Argument Übergeben Sie es, um eine Numpy-Matrix zu erstellen.

  • Drucken Sie die resultierende abgeflachte Matrix der Eingabematrix.

Beispiel

Das folgende Programm verwendet die Funktion flatten(), um eine gegebene 4-dimensionale Matrix in eine 1-dimensionale Matrix zu glätten und gibt das Ergebnis -

zurück

# importing NumPy module with an alias name
import numpy as np

# creating a NumPy matrix (4x4 matrix) using matrix() method
inputMatrix = np.matrix('[11, 1, 8, 2; 11, 3, 9 ,1; 1, 2, 3, 4; 9, 8, 7, 6]')

# printing the input 4D matrix
print("The input numpy matrix:")
print(inputMatrix)

# flattening the 4D matrix to one-dimensional matrix
flattenMatrix = inputMatrix.flatten()

# printing the resultant flattened matrix
print("Resultant flattened matrix:")
print(flattenMatrix)

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

The input numpy matrix:
[[11  1  8  2]
 [11  3  9  1]
 [ 1  2  3  4]
 [ 9  8  7  6]]
Resultant flattened matrix:
[[11  1  8  2 11  3  9  1  1  2  3  4  9  8  7  6]]

Fazit

In diesem Beitrag haben wir anhand von drei verschiedenen Beispielen gelernt, wie man eine Matrix in Python reduziert. Wir haben gelernt, wie man Matrizen in Numpy mit zwei verschiedenen Methoden erhält: numpy.array() und NumPy.matrix(). Wir haben auch gelernt, wie man eine Matrix mithilfe der Reshape-Funktion flacher macht.

Das obige ist der detaillierte Inhalt vonWie kann man eine Matrix in Python mit Numpy reduzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen