2025-07-01 21:16:30 +02:00

71 lines
4.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## CAP-Theorem
-**Konsistenz (Consistency):** Alle Knoten zeigen zur gleichen Zeit die gleichen Daten an.
- **Verfügbarkeit (Availability):** Jeder Anfrage wird garantiert eine Antwort geliefert auch wenn sie nicht den aktuellsten Stand widerspiegelt.
- **Partitionstoleranz (Partition Tolerance):** Das System funktioniert weiter, auch wenn Teile des Netzwerks ausfallen oder nicht miteinander kommunizieren können.
- **CA (Konsistenz + Verfügbarkeit):** 
    Funktioniert nur ohne Netzwerkausfall. 
    Beispiel: Einzelner MySQL-Server.
- **CP (Konsistenz + Partitionstoleranz):** 
    Bleibt bei Ausfall konsistent, aber nicht immer erreichbar. 
    Beispiel: HBase, MongoDB (strikte Konsistenz).
- **AP (Verfügbarkeit + Partitionstoleranz):** 
    Immer erreichbar, aber Daten können kurz inkonsistent sein. 
    Beispiel: Cassandra, DynamoDB.
```python
pd.DataFrame(data: dict[str, Any]) -> DataFrame  # Erstellt DataFrame aus dict
pd.read_csv(filepath_or_buffer: str, index_col: str | None = None, ...) -> DataFrame  # CSV/URL einlesen
np.array(obj: Iterable[Any], dtype: type | None = None) -> ndarray  # Array aus Werten
np.nan: float  # Not a Number (fehlender Wert)
np.arange(stop: int) -> ndarray  # Array von 0 bis stop-1
np.random.randn(*shape: int) -> ndarray  # Zufallszahlen (Normalverteilung)
np.sin(x: float | ndarray), np.cos(x: float | ndarray) -> float | ndarray  # Sinus/Kosinus
pd.date_range(start: str, periods: int, freq: str) -> DatetimeIndex  # Datumsreihe
pd.cut(x: Series, bins: list[float], labels: list[str] | None = None) -> Categorical  # Werte in Intervalle
pd.get_dummies(df: DataFrame, columns: list[str] | None = None) -> DataFrame  # One-Hot-Encoding
DataFrame.info() -> None  # Übersicht zu DataFrame
DataFrame.dtypes -> Series  # Spaltentypen
DataFrame.head(n: int = 5) -> DataFrame  # Erste n Zeilen
DataFrame.tail(n: int = 5) -> DataFrame  # Letzte n Zeilen
DataFrame.columns -> Index  # Spaltennamen
DataFrame.shape -> tuple[int, int]  # Form (Zeilen, Spalten)
DataFrame.to_numpy() -> ndarray  # Als Numpy-Array
DataFrame.set_index(keys: str | list[str]) -> DataFrame  # Setzt Index
DataFrame.sort_index() -> DataFrame  # Sortiert nach Index
DataFrame.copy() -> DataFrame  # Kopie erstellen
DataFrame.describe() -> DataFrame  # Statistik
DataFrame.count() -> Series  # Anzahl Werte pro Spalte
DataFrame.min()/max()/mean()/std()/var() -> Series | float  # Statistische Werte
DataFrame.cumsum() -> DataFrame  # Kumulierte Summe
DataFrame.drop(labels: str | list[str], axis: int = 0) -> DataFrame  # Entfernt Zeilen/Spalten
DataFrame.dropna() -> DataFrame  # Entfernt Zeilen mit NaN
DataFrame.fillna(value: Any) -> DataFrame  # Füllt NaN
DataFrame.interpolate() -> DataFrame  # Interpoliert NaN
DataFrame.combine_first(other: DataFrame) -> DataFrame  # Füllt NaN aus anderem DF
DataFrame.sample(n: int | None = None, frac: float | None = None, axis: int = 0) -> DataFrame  # Zufallsstichprobe
DataFrame.loc[...] / .iloc[...] -> DataFrame | Series | scalar  # Zugriff per Label/Position
DataFrame.groupby(by: str | list[str] | Callable) -> GroupBy  # Gruppiert nach Kriterium
DataFrame.melt(id_vars: str | list[str]) -> DataFrame  # Spalten zu Zeilen
DataFrame.pivot(index: str, columns: str) -> DataFrame  # Breite Tabelle
DataFrame.pivot_table(values: str, index: str, columns: str, aggfunc: str | Callable) -> DataFrame  # Pivot-Tabelle
DataFrame.replace(to_replace: Any, value: Any) -> DataFrame  # Werte ersetzen
DataFrame.plot(...), .plot.line(...), .plot.scatter(...), .boxplot(...) -> Axes  # Plotten
Series.value_counts() -> Series  # Zählt eindeutige Werte
Series.count() -> int  # Anzahl Werte
Series.map(func: Callable) -> Series  # Wendet Funktion an
Series.str.lower() -> Series  # Kleinbuchstaben
Series.str.contains(pat: str) -> Series  # Stringsuche
Series.plot.hist(bins: int) -> Axes  # Histogramm
GroupBy.agg(func: str | Callable) -> DataFrame  # Aggregation auf Gruppen
GroupBy.sum()/min()/max()/describe() -> DataFrame  # Statistiken auf Gruppen
GroupBy.__iter__() -> Iterator  # Über Gruppen iterieren
plt.axvline(x: float, c: str | None = None) -> None  # Vertikale Linie
plt.cm.Blues(x: float) -> tuple  # Farbe aus Colormap
Axes.axhline(y: float, ...) -> None  # Horizontale Linie
Axes.set_xticks(ticks: list[float]) -> None  # X-Ticks setzen
Axes.set_ylabel(label: str), Axes.set_xlabel(label: str) -> None  # Achsenbeschriftung
train_test_split(X: ndarray | DataFrame, y: ndarray | Series, train_size: float = ...) -> tuple  # Split in Train/Test
LogisticRegression().fit(X: ndarray | DataFrame, y: ndarray | Series) -> LogisticRegression  # Modell trainieren
LogisticRegression().score(X: ndarray | DataFrame, y: ndarray | Series) -> float  # Modellgüte
LogisticRegression().predict_proba(X: ndarray | DataFrame) -> ndarray  # Vorhersagewahrscheinlichkeit Beispiel: Cassandra, DynamoDB.
```