diff --git a/formulas/Block 2.md b/formulas/Block 2.md index 90c2e77..0d0492f 100644 --- a/formulas/Block 2.md +++ b/formulas/Block 2.md @@ -1,70 +1,43 @@ ## 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.  +- **CA (Konsistenz + Verfügbarkeit):** +    Funktioniert nur ohne Netzwerkausfall.     Beispiel: Einzelner MySQL-Server. -- **CP (Konsistenz + Partitionstoleranz):**  -    Bleibt bei Ausfall konsistent, aber nicht immer erreichbar.  +- **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.  +- **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. +# --- Pandas ---------- +pd.read_csv("path.csv") -> DataFrame # CSV einlesen +pd.DataFrame(data) -> DataFrame # DataFrame aus dict/array +df.head(), df.tail() # Erste/letzte Zeilen +df.info(), df.describe() # Überblick & Statistik +df.loc[row, col], df.iloc[row_idx, col_idx] # Label- & Positionszugriff +df.groupby(keys).agg(func) # Gruppierung & Aggregation +pd.merge(left, right, on="col") # Tabellen verbinden +df.pivot_table(values, index, columns, aggfunc="mean") # Schnelles Pivottable +df.isna().sum(), df.fillna(value) # Fehlende Werte prüfen/behandeln +df.sort_values(by="col"), df.sort_index() # Sortieren +# --- NumPy ---------- +np.array(data) # Array erstellen +np.arange(stop), np.linspace(start, stop, num) # Sequenzen +np.zeros(shape), np.ones(shape) # Nullen/Einsen-Arrays +np.reshape(a, newshape) # Form ändern +np.mean(a), np.median(a), np.std(a) # Statistiken +# --- Matplotlib ---------- +import matplotlib.pyplot as plt +plt.figure(figsize=(6,4)) # Figure erstellen +plt.plot(x, y, label="Linie") # Liniendiagramm +plt.scatter(x, y, c="r", label="Punkte") # Streudiagramm +plt.bar(x, height, label="Balken") # Balkendiagramm +plt.hist(data, bins=30, alpha=0.7) # Histogramm +plt.axvline(x, color="k", ls="--") # Vertikale Linie +plt.xlabel("x-Achse"); plt.ylabel("y-Achse") # Achsenbeschriftung +plt.title("Titel"); plt.legend(); plt.tight_layout(); plt.show() ``` diff --git a/formulas/Datenbanken.pdf b/formulas/Datenbanken.pdf new file mode 100644 index 0000000..626da7f Binary files /dev/null and b/formulas/Datenbanken.pdf differ