Better
This commit is contained in:
parent
524e10d913
commit
f72cb72b9d
@ -1,22 +1,70 @@
|
|||||||
Kleinere Aufgaben zur Programmierung mit Numpy und Pandas; Zuordnungen, Wahr/Falsch,
|
|
||||||
Codeanpassungen.
|
|
||||||
|
|
||||||
Data-Wrangling: Importieren, Bereinigen und Transformieren von Daten am Beispiel von Phyton, Plots
|
|
||||||
|
|
||||||
Vertiefung Numpy und Pandas Beispielanwendungen: Umgang mit realistischen Datensätzen, Zeitreihen, Ausblick MLVerfahren
|
|
||||||
|
|
||||||
Arten und Anwendungsbereiche verschiedener NoSQLDatenbanken, CAP-Theorem, Skalierung von NoSQLDatenbanken, Sharding, Übungen
|
|
||||||
|
|
||||||
## CAP-Theorem
|
## CAP-Theorem
|
||||||
- • **Konsistenz (Consistency):** Alle Knoten zeigen zur gleichen Zeit die gleichen Daten an.
|
- • **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.
|
- **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.
|
- **Partitionstoleranz (Partition Tolerance):** Das System funktioniert weiter, auch wenn Teile des Netzwerks ausfallen oder nicht miteinander kommunizieren können.
|
||||||
- **CA (Konsistenz + Verfügbarkeit):**
|
- **CA (Konsistenz + Verfügbarkeit):**
|
||||||
Funktioniert nur ohne Netzwerkausfall.
|
Funktioniert nur ohne Netzwerkausfall.
|
||||||
Beispiel: Einzelner MySQL-Server.
|
Beispiel: Einzelner MySQL-Server.
|
||||||
- **CP (Konsistenz + Partitionstoleranz):**
|
- **CP (Konsistenz + Partitionstoleranz):**
|
||||||
Bleibt bei Ausfall konsistent, aber nicht immer erreichbar.
|
Bleibt bei Ausfall konsistent, aber nicht immer erreichbar.
|
||||||
Beispiel: HBase, MongoDB (strikte Konsistenz).
|
Beispiel: HBase, MongoDB (strikte Konsistenz).
|
||||||
- **AP (Verfügbarkeit + Partitionstoleranz):**
|
- **AP (Verfügbarkeit + Partitionstoleranz):**
|
||||||
Immer erreichbar, aber Daten können kurz inkonsistent sein.
|
Immer erreichbar, aber Daten können kurz inkonsistent sein.
|
||||||
Beispiel: Cassandra, DynamoDB.
|
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.
|
||||||
|
```
|
||||||
|
@ -6,14 +6,14 @@ Sonderzeichen (`*+?{}[]\|()`) mit `\` escapen.
|
|||||||
* **Logik & Gruppen:** `()` (Gruppe), `(?P<n>...)` (benannte Gruppe), `|` (ODER).
|
* **Logik & Gruppen:** `()` (Gruppe), `(?P<n>...)` (benannte Gruppe), `|` (ODER).
|
||||||
* **Position:** `^` (Anfang), `$` (Ende), `\b` (Wortgrenze).
|
* **Position:** `^` (Anfang), `$` (Ende), `\b` (Wortgrenze).
|
||||||
**Beispiel**:
|
**Beispiel**:
|
||||||
```python
|
```regex
|
||||||
^(?P<timestamp>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})\s\[(?P<level>INFO|WARN|ERROR)\]\s\(user:\s'(?P<user>[\w\.-]+@[\w\.-]+)'\)\s"(?P<message>.*?)"$
|
^(?P<timestamp>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})\s\[(?P<level>INFO|WARN|ERROR)\]\s\(user:\s'(?P<user>[\w\.-]+@[\w\.-]+)'\)\s"(?P<message>.*?)"$
|
||||||
````
|
````
|
||||||
## XPath & JSONPath
|
## XPath & JSONPath
|
||||||
* **XPath (XML):** Navigation mit `/` (Kind), `//` (Nachfahre), `.` (aktuell), `..` (Eltern). Filtern mit `[...]`, z.B. `[@id='x']` (Attribut) oder `[1]` (Position). Werte mit `@attribut` oder `text()`.
|
* **XPath (XML):** Navigation mit `/` (Kind), `//` (Nachfahre), `.` (aktuell), `..` (Eltern). Filtern mit `[...]`, z.B. `[@id='x']` (Attribut) oder `[1]` (Position). Werte mit `@attribut` oder `text()`.
|
||||||
* **JSONPath (JSON):** Start mit `$`. Navigation mit `.` oder `['key']`. `..` (rekursiv), `[*]` (alle Array-Elemente). Filtern mit `[?(@...)]`, wobei `@` das aktuelle Element ist.
|
* **JSONPath (JSON):** Start mit `$`. Navigation mit `.` oder `['key']`. `..` (rekursiv), `[*]` (alle Array-Elemente). Filtern mit `[?(@...)]`, wobei `@` das aktuelle Element ist.
|
||||||
**Beispiel**:
|
**Beispiel**:
|
||||||
```python
|
```xml
|
||||||
//course[@id='cds104']/lecturer[@type='external' and units > 5]/name/text()
|
//course[@id='cds104']/lecturer[@type='external' and units > 5]/name/text()
|
||||||
```
|
```
|
||||||
```json
|
```json
|
Loading…
x
Reference in New Issue
Block a user