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:
| Bibliothek | Verwendung |
|---|---|
| math | Grundfunktionen |
| statistics | Mittelwert, Median, Streuung |
| decimal | Dezimalgenauigkeit |
| fractions | Exakte Brüche |
| numpy | NumPy |
| sympy | SymPy |
| scipy | SciPy |
| pint | Pint |
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.
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.
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.
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.
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.
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).
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.
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.
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

Schreibe einen Kommentar