8 Python-Bibliotheken für mathematische Berechnungen — Von der Standardbibliothek bis NumPy und SciPy

Python bietet eine beeindruckende Vielfalt an Bibliotheken für mathematische Berechnungen — von einfachen Funktionen in der Standardbibliothek bis zu leistungsstarken Werkzeugen für symbolische Algebra, Optimierung und Dimensionsanalyse. Ob Sie gerade mit Python anfangen (siehe unseren Einstiegsguide) oder die Grundlagen bereits beherrschen: Diese Bibliotheken erweitern deutlich, was Sie mit Zahlen anstellen können.

Dieser Artikel stellt 8 zentrale Bibliotheken vor: vier aus der Standardbibliothek (math, statistics, decimal, fractions) und vier weit verbreitete externe (NumPy, SymPy, SciPy, Pint). Jede löst eine andere Art von Problem. Nutzen Sie die Schnellreferenz-Tabelle unten, um direkt zur gewünschten Bibliothek zu springen.

Schnellreferenz

Direkte Links zu jeder Bibliothek:

BibliothekVerwendung
mathGrundfunktionen
statisticsMittelwert, Median, Streuung
decimalDezimalgenauigkeit
fractionsExakte Brüche
numpyNumPy
sympySymPy
scipySciPy
pintPint

Standardbibliothek

Diese vier Bibliotheken sind mit Python mitgeliefert — keine Installation nötig.

math — Grundlegende mathematische Funktionen

Das Modul math bietet klassische mathematische Funktionen: Wurzel, Trigonometrie, Logarithmen, Potenzen und Konstanten wie π und e. Es ist die richtige Wahl, wenn Sie einfache, effiziente numerische Operationen ohne externe Abhängigkeiten brauchen.

math_demo.py
import math

# Hypotenuse: sqrt(3²+4²) = 5
print(math.sqrt(3**2 + 4**2))  # 5.0

# Sine of 30° (radians)
print(math.sin(math.radians(30)))  # 0.5

# Log base 10
print(math.log10(1000))  # 3.0

Das Beispiel zeigt die Hypotenuse eines 3-4-5-Dreiecks, den Sinus von 30 Grad (mit Umrechnung von Grad in Radiant) und den Logarithmus zur Basis 10. Für aufwendigere wissenschaftliche Berechnungen ist NumPy oft schneller; für den Alltag reicht math.

statistics — Mittelwert, Median, Streuung

Das Modul statistics wurde in Python 3.4 für beschreibende Statistik ergänzt. Es berechnet Mittelwert, Median, Modus, Varianz und Standardabweichung von Zahlenfolgen. Ideal für schnelle Auswertungen ohne NumPy.

stats_demo.py
import statistics

data = [120, 180, 250, 300, 420]
print(statistics.mean(data))    # 254.0
print(statistics.median(data))  # 250
print(statistics.stdev(data))   # ~118.9

Im Beispiel verwenden wir eine Liste von Werten (z.B. Preise oder Antwortzeiten) und erhalten Mittelwert, Median und Standardabweichung. Für große Datensätze oder vektorisierte Operationen ist NumPy weiterhin vorzuziehen.

decimal — Exakte Dezimalgenauigkeit

Gleitkommazahlen (float) nutzen eine binäre Darstellung und können Rundungsfehler erzeugen — wie beim bekannten 0,1 + 0,2 ≠ 0,3. Das Modul decimal verwendet Dezimalarithmetik mit beliebiger Genauigkeit, unverzichtbar für Geldbeträge und Messungen, die Exaktheit erfordern.

decimal_demo.py
from decimal import Decimal

# Float trap: 0.1 + 0.2
print(0.1 + 0.2)  # 0.30000000000000004

# Decimal for exact precision
price = Decimal("19.99")
with_tax = price * (1 + Decimal("0.10"))
print(with_tax)  # 21.989

Im Beispiel zeigen wir die Float-Falle und nutzen anschließend Decimal, um einen Preis mit 10 % Aufschlag exakt zu berechnen.

fractions — Rationale Zahlen

Das Modul fractions stellt Zahlen als exakte Brüche (Zähler/Nenner) dar und vermeidet Gleitkommafehler bei Verhältnisrechnungen. Nützlich für Berechnungen, die die Bruchform beibehalten sollen.

fractions_demo.py
from fractions import Fraction

# 2/5 + 1/10 = 4/10 + 1/10 = 1/2
print(Fraction(2, 5) + Fraction(1, 10))  # 1/2

Im Beispiel addieren wir 2/5 und 1/10 und erhalten exakt 1/2 ohne Float-Konvertierung.

Externe Bibliotheken

Diese Bibliotheken erfordern pip install. Sie sind Standard in Datenwissenschaft, Ingenieurwesen und Forschung.

NumPy — Arrays und numerische Berechnung

NumPy ist die Grundlage der numerischen Berechnung in Python. Es bietet effiziente mehrdimensionale Arrays und eine Fülle von Funktionen für vektorisierte Operationen. Fast jede Datenwissenschafts-Bibliothek (pandas, scikit-learn usw.) baut auf NumPy auf.

numpy_demo.py
import numpy as np

arr = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
norm = (arr - arr.mean()) / arr.std()
print(norm.mean(), norm.std())  # ~0.0, ~1.0

Das Beispiel normalisiert ein Array (Mittelwert 0, Standardabweichung 1) — eine häufige Operation in Machine Learning und Datenanalyse.

SymPy — Symbolische Algebra

SymPy führt symbolische Algebra aus: Ableitungen, Integrale, Gleichungen, Vereinfachungen. Statt numerischer Näherungen arbeiten Sie mit exakten Ausdrücken (Symbole, Brüche, Wurzeln).

sympy_demo.py
from sympy import symbols, diff, solve

x = symbols('x')
expr = x**3 - x
print(diff(expr, x))  # 3*x**2 - 1
print(solve(expr, x))   # [-1, 0, 1]

Im Beispiel definieren wir ein Symbol x, leiten x³−x ab und lösen die Gleichung, um die Nullstellen zu finden.

SciPy — Optimierung und Wissenschaft

SciPy erweitert NumPy um wissenschaftliche Algorithmen: Optimierung, Integration, Interpolation, Signalverarbeitung, erweiterte Statistik und mehr. Es ist das Standardwerkzeug für numerische Probleme in Forschung und Technik.

scipy_demo.py
from scipy.optimize import minimize

# Minimum of x² + 3x + 2
result = minimize(lambda x: x[0]**2 + 3*x[0] + 2, [0])
print(result.x)   # [-1.5]
print(result.fun)  # -0.25

Das Beispiel minimiert die quadratische Funktion x²+3x+2. Das Minimum liegt bei x=−1,5 mit dem Wert −0,25.

Pint — Einheiten und Dimensionen

Pint ermöglicht den sicheren Umgang mit physikalischen Einheiten (km, h, m/s usw.). Es verhindert Fehler wie das Addieren von Metern und Fuß oder die Verwechslung von Geschwindigkeit und Beschleunigung. Sehr nützlich in Physik, Technik und Simulationen.

pint_demo.py
from pint import UnitRegistry

ureg = UnitRegistry()
speed = 120 * ureg.km / (2 * ureg.h)
print(speed)                    # 60 km/h
print(speed.to(ureg.m / ureg.s))  # 16.67 m/s

Im Beispiel berechnen wir 120 km in 2 Stunden und konvertieren das Ergebnis in m/s.

Zusammenfassung

Überblick über die 8 Bibliotheken:

  • math — Grundfunktionen (sqrt, sin, log usw.)
  • statistics — Mittelwert, Median, Standardabweichung
  • decimal — Exakte Dezimalgenauigkeit (Geld, Messungen)
  • fractions — Exakte rationale Zahlen
  • NumPy — Arrays und vektorisierte Berechnung
  • SymPy — Symbolische Algebra (Ableitungen, Gleichungen)
  • SciPy — Optimierung, Integration, wissenschaftliche Algorithmen
  • Pint — Einheiten und Dimensionsumrechnungen

Comments

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert