Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python Matrix-Operationen mit NumPy: Transponieren, Addition, Multiplikation & Slicing – Ein praktischer Leitfaden

Python Matrix-Operationen mit NumPy: Transponieren, Addition, Multiplikation & Slicing

Mathematische Modellierung, wissenschaftliches Computing und Datenanalyse verlassen sich oft auf effiziente Manipulation zweidimensionaler Daten. In Python können Matrizen mit einfachen Listen oder, leistungsfähiger, mit der NumPy-Bibliothek erstellt werden. Dieser Leitfaden führt Sie durch die gängigsten Matrix-Operationen, komplett mit klaren Code-Beispielen und Best-Practice-Tipps.

Was ist eine Matrix?

Eine Matrix ist ein rechteckiges Array von Zahlen (oder anderen Datentypen), organisiert in Zeilen und Spalten. Während Python keinen dedizierten Matrix-Typ in seiner Kernsprache hat, können Sie eine mit verschachtelten Listen oder mit NumPys ndarray darstellen, das schnelle, vektorisierte Operationen bietet.

Matrix mit verschachtelten Listen erstellen

Verschachtelte Listen sind der einfachste Weg, eine Matrix zu bauen. Jede innere Liste repräsentiert eine Zeile:

# 3x3 Matrix
M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
print(M1)

Ausgabe:

[[8, 14, -6], [12, 7, 4], [-11, 3, 21]]

Daten lesen

Auf Elemente über Zeilen- und Spaltenindizes zugreifen. Um das letzte Element jeder Zeile auszugeben:

for row in M1:
    print(row[-1])

Ausgabe:

-6
4
21

Matrizen addieren

Wenn beide Matrizen dieselbe Form haben, ist elementweise Addition unkompliziert:

M2 = [[3, 16, -6], [9, 7, -4], [-1, 3, 13]]

# Ergebnis-Matrix
M3 = [[M1[i][j] + M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))]
print(M3)

Ausgabe:

[[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

Elementweise Multiplikation

Ebenso können Sie korrespondierende Elemente multiplizieren:

M3 = [[M1[i][j] * M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))]
print(M3)

Ausgabe:

[[24, 224, 36], [108, 49, -16], [11, 9, 273]]

NumPy für effiziente Matrix-Operationen verwenden

NumPy stellt einen dedizierten Array-Typ und eine Fülle vektorisierter Operationen bereit. Installieren Sie es mit pip install numpy und importieren Sie es als np:

import numpy as np

Matrix erstellen

M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])
print(M1)

Ausgabe:

[[ 5 -10 15]
 [ 3 -6  9]
 [-4  8 12]]

Grundlegende Operationen

Beispiel: Matrix-Skalarprodukt

M1 = np.array([[3, 6], [5, -10]])
M2 = np.array([[9, -18], [11, 22]])
print(M1.dot(M2))

Ausgabe:

[[ 93  78]
 [-65 -310]]

Slicing

Zeilen und Spalten mit array[zeile_start:zeile_ende, spalte_start:spalte_ende] schneiden:

M = np.array([[2, 4, 6, 8, 10],
              [3, 6, 9, -12, -15],
              [4, 8, 12, 16, -20],
              [5, -10, 15, -20, 25]])

print(M[1:3, 1:4])  # Zeilen 1-2, Spalten 1-3
print(M[:, 3])      # Alle Zeilen, 4. Spalte
print(M[:1, :])     # Erste Zeile, alle Spalten
print(M[:3, :2])    # Erste 3 Zeilen, erste 2 Spalten

Ausgabe:

[[ 6  9 -12]
 [ 8 12 16]]
[ 8 -12 16 -20]
[[ 2  4  6  8 10]]
[[ 2  4]
 [ 3  6]
 [ 4  8]]

Auf Zeilen und Spalten zugreifen

# Zeilen
print(M[0])   # Erste Zeile
print(M[-1])  # Letzte Zeile

# Spalten
print(M[:, 0])  # Erste Spalte
print(M[:, -1]) # Letzte Spalte

Wichtigste Erkenntnisse

Python

  1. Python-Dictionaries meistern: Erstellung, Manipulation und fortgeschrittene Techniken
  2. C++ Arrays verstehen: Deklaration, Initialisierung und Pointer‑Techniken
  3. Python print()-Funktion: Praktischer Leitfaden mit Beispielen
  4. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  5. Python format()-Strings meistern mit klaren Beispielen
  6. Pythons String.find()-Methode meistern: Syntax, Beispiele & Alternativen
  7. Python Lambda-Funktionen meistern: Praxisbeispiele & Best Practices
  8. Python abs()-Funktion: Absolutwerte für Zahlen & Komplexe Zahlen berechnen
  9. Python round()-Funktion erklärt mit praktischen Beispielen
  10. Pythons range()-Funktion meistern: Von Grundlagen bis zu fortgeschrittenen Anwendungsfällen