Skip to content

Streamlit Date/Time-Schieberegler - Eine schrittweise Einführung

Updated on

In der Welt der Datenvisualisierung ist die Möglichkeit, Daten interaktiv zu filtern und zu manipulieren, entscheidend. Ein solches Werkzeug, das in der Python-Community an Beliebtheit gewonnen hat, ist der Streamlit Date/Time-Schieberegler. Diese leistungsstarke Funktion ermöglicht es Benutzern, Zeitreihendaten interaktiv zu filtern, was für eine intuitivere und ansprechendere Benutzererfahrung sorgt. In diesem Leitfaden werden wir uns mit den Details des Streamlit Date/Time-Schiebereglers befassen und Ihnen das Wissen und die Beispiele liefern, die Sie benötigen, um diese Funktion effektiv in Ihren eigenen Projekten zu implementieren.

Streamlit ist eine Open-Source-Python-Bibliothek, die den Prozess der Erstellung benutzerdefinierter Webanwendungen für maschinelles Lernen und Datenwissenschaftsprojekte vereinfacht. Eine seiner herausragenden Eigenschaften ist der Date/Time-Schieberegler, ein Widget, das Benutzern ermöglicht, einen Datumsbereich auszuwählen, indem sie einen Regler entlang einer Zeitleiste verschieben. Diese Funktion ist besonders nützlich, wenn es um Zeitreihendaten geht, da Benutzer Daten über bestimmte Zeiträume leicht filtern und visualisieren können.

Was ist ein Streamlit Date/Time-Schieberegler?

Der Streamlit Date/Time-Schieberegler ist ein Widget, mit dem Benutzer einen Datumsbereich auswählen können, indem sie einen Regler entlang einer Zeitleiste verschieben. Diese Funktion ist besonders nützlich, wenn es um Zeitreihendaten geht, da Benutzer Daten über bestimmte Zeiträume leicht filtern und visualisieren können. Der Date/Time-Schieberegler in Streamlit wird unter Verwendung der slider-Funktion erstellt, die einen Bereich von Daten annimmt und den ausgewählten Datumsbereich zurückgibt.

Um einen Date/Time-Schieberegler in Streamlit zu erstellen, müssen Sie die slider-Funktion mit den folgenden Parametern verwenden:

  • label: Ein String, der als Bezeichnung für den Schieberegler dient.
  • min_value: Der kleinste Wert des Schiebereglers. Dies sollte ein DateTime-Objekt sein.
  • max_value: Der größte Wert des Schiebereglers. Dies sollte ebenfalls ein DateTime-Objekt sein.
  • value: Der Anfangswert des Schiebereglers. Dies kann ein einzelnes DateTime-Objekt oder ein Tupel aus zwei DateTime-Objekten sein, die einen Bereich darstellen.
  • step: Der Inkrement zwischen den Schiebereglerwerten. Dies sollte ein TimeSpan-Objekt sein.

Hier ist ein Beispiel, wie man einen Date/Time-Schieberegler in Streamlit erstellt:

import streamlit as st
from datetime import datetime, timedelta
 
# Erstelle einen Date/Time-Schieberegler mit einem Wochenbereich
start_date = datetime(2020, 1, 1)
end_date = start_date + timedelta(weeks=1)
 
selected_date = st.slider(
    "Wählen Sie einen Datumsbereich",
    min_value=start_date,
    max_value=end_date,
    value=(start_date, end_date),
    step=timedelta(days=1),
)

In diesem Beispiel ermöglicht der Date/Time-Schieberegler dem Benutzer, einen Datumsbereich innerhalb der ersten Woche von 2020 auszuwählen. Der Parameter step ist auf einen Tag eingestellt, was bedeutet, dass der Benutzer einen Datumsbereich mit einer Genauigkeit von einem Tag auswählen kann.

Wie verwendet man den Streamlit Date/Time-Schieberegler effektiv?

Der Streamlit Date/Time-Schieberegler ist ein leistungsstarkes Werkzeug, das jedoch effektiv verwendet werden sollte, um eine gute Benutzererfahrung zu gewährleisten. Hier sind einige Tipps, wie man den Streamlit Date/Time-Schieberegler effektiv verwendet:

  1. Wählen Sie eine geeignete Schrittgröße: Die Schrittgröße bestimmt die Granularität des Datumsbereichs, den Benutzer auswählen können. Wenn die Schrittgröße zu groß ist, können Benutzer möglicherweise nicht den genauen Datumsbereich auswählen, den sie möchten. Andererseits, wenn die Schrittgröße zu klein ist, kann der Schieberegler zu sensibel werden und schwierig zu kontrollieren sein. Es ist daher wichtig, eine Schrittgröße zu wählen, die für Ihre Daten und Anwendung geeignet ist.

  2. Legen Sie einen vernünftigen Standardwert fest: Der Standardwert des Schiebereglers bestimmt den anfänglichen Datumsbereich, der ausgewählt wird, wenn der Benutzer die App zum ersten Mal lädt. Es ist wichtig, einen Standardwert festzulegen, der vernünftig und relevant für Ihre Daten ist. Wenn Sie beispielsweise Verkaufsdaten für das vergangene Jahr visualisieren, könnten Sie den Standardwert auf den aktuellsten Monat setzen.

  3. Behandeln Sie fehlende Daten angemessen: Wenn Ihre Daten fehlende Werte für bestimmte Daten aufweisen, ist es wichtig, diese fehlenden Werte angemessen zu behandeln. Eine Möglichkeit besteht darin, die fehlenden Werte auf der Grundlage der umgebenden Daten zu interpolieren. Alternativ können Sie Benutzern nur die Auswahl von Daten ermöglichen, für die Daten verfügbar sind.

  4. Aktualisieren Sie die Schieberegelwerte dynamisch: In einigen Fällen möchten Sie möglicherweise die Schieberegelwerte dynamisch basierend auf der Benutzereingabe aktualisieren. Wenn Sie beispielsweise einen zweiten Schieberegler haben, mit dem Benutzer einen Zeitbereich auswählen können, möchten Sie möglicherweise den Date/Time-Schieberegler aktualisieren, um den ausgewählten Zeitbereich widerzuspiegeln. Dies kann mit Hilfe der st.empty-Funktion erreicht werden, die einen Platzhalter erstellt, der später mit einem Widget gefüllt werden kann.

Hier ist ein Beispiel, wie man den Date/Time-Schieberegler dynamisch aktualisiert:

import streamlit as st
from datetime import datetime, timedelta
 
# Erstelle einen Platzhalter für den Date/Time-Schieberegler
slider_placeholder = st.empty()
 
# Erstelle einen Zeitbereich-Schieberegler
time_range = st.slider("Wählen Sie einen Zeitbereich", 0, 23, (0, 23))
 
# Aktualisiere den Date/Time-Schieberegler basierend auf dem ausgewählten Zeitbereich
start_date = datetime(2020, 1, 1, time_range[0])
end_date = start_date + timedelta(hours=time_range[1] - time_range[0])
 
selected_date = slider_placeholder.slider(
    "Wählen Sie einen Datumsbereich",
    min_value=start_date,
    max_value=end_date,
    value=(start_date, end_date),
    step=timedelta(hours=1),
)

In diesem Beispiel wird der Date/Time-Schieberegler jedes Mal aktualisiert, wenn der Benutzer den ausgewählten Zeitbereich ändert. Die Funktion slider_placeholder wird verwendet, um einen Platzhalter für den Date/Time-Schieberegler zu erstellen, der mit dem aktualisierten Schieberegler gefüllt wird, wenn der Benutzer den Zeitbereich ändert.

Streamlit Date/Time-Schieberegler: Häufige Probleme und Lösungen

Während der Streamlit-Datumsregler ein leistungsstarkes Werkzeug ist, ist er nicht ohne seine Eigenheiten. Hier sind einige häufige Probleme, die beim Verwenden des Streamlit-Datumsreglers auftreten können, und Lösungen, wie man sie beheben kann:

  1. Datumsregler funktioniert nicht: Wenn der Datumsregler nicht auf Benutzereingaben reagiert, liegt es wahrscheinlich daran, dass der value-Parameter nicht korrekt gesetzt ist. Stellen Sie sicher, dass der value-Parameter ein Tupel aus zwei Datumsobjekten ist, die den ersten Datumsbereich darstellen.

  2. Standardwert des Datumsreglers funktioniert nicht: Wenn der Datumsregler nicht den korrekten Standardwert anzeigt, liegt es wahrscheinlich daran, dass der value-Parameter nicht korrekt gesetzt ist. Stellen Sie sicher, dass der value-Parameter ein Tupel aus zwei Datumsobjekten ist, die den Standard-Datumsbereich darstellen.

  3. Größe des Datumsreglers funktioniert nicht: Wenn der Datumsregler nicht in der richtigen Größe angezeigt wird, liegt es wahrscheinlich daran, dass der format-Parameter nicht korrekt gesetzt ist. Der format-Parameter bestimmt das Anzeigeformat der Daten auf dem Regler. Stellen Sie sicher, dass der format-Parameter ein String ist, der das gewünschte Datumsformat angibt.

  4. Datumsregler zeigt nicht alle Filter an: Wenn der Datumsregler nicht alle verfügbaren Filter anzeigt, liegt es wahrscheinlich daran, dass der options-Parameter nicht korrekt gesetzt ist. Der options-Parameter bestimmt die verfügbaren Filter auf dem Regler. Stellen Sie sicher, dass der options-Parameter eine Liste von Strings ist, die die gewünschten Filter repräsentieren.

Hier ist ein Beispiel, wie man die format- und options-Parameter setzt:

import streamlit as st
from datetime import datetime, timedelta
 
# Erstelle einen Datumsregler mit benutzerdefiniertem Format und Optionen
start_date = datetime(2020, 1, 1)
end_date = start_date + timedelta(weeks=1)
 
selected_date = st.slider(
    "Wähle einen Datumsbereich aus",
    min_value=start_date,
    max_value=end_date,
    value=(start_date, end_date),
    step=timedelta(days=1),
    format="MM/TT/JJJJ",
    options=["Tag", "Woche", "Monat", "Jahr"],
)

In diesem Beispiel zeigt der Datumsregler Daten im Format "MM/TT/JJJJ" an und bietet Optionen zum Filtern nach Tag, Woche, Monat oder Jahr.

Erkunden fortgeschrittener Funktionen des Streamlit-Datumsreglers

Der Streamlit-Datumsregler ist nicht auf die grundlegende Auswahl von Datum und Uhrzeit beschränkt. Er bietet auch fortgeschrittene Funktionen, die die Funktionalität Ihrer Datenvisualisierungsanwendungen verbessern können. Eine solche Funktion ist der zweiseitige Regler, mit dem Benutzer einen Datumsbereich anstelle eines einzelnen Datums auswählen können.

Der zweiseitige Regler kann in Streamlit erstellt werden, indem man ein Tupel aus zwei Datumsobjekten als value-Parameter in die slider-Funktion übergibt. Dadurch wird ein Regler mit zwei Griffen erstellt, mit dem Benutzer ein Startdatum und ein Enddatum auswählen können.

Hier ist ein Beispiel, wie man einen zweiseitigen Regler in Streamlit erstellt:

import streamlit as st
from datetime import datetime, timedelta
 
# Erstelle einen zweiseitigen Datumsregler
start_date = datetime(2020, 1, 1)
end_date = start_date + timedelta(days=30)
 
selected_date_range = st.slider(
    "Wähle einen Datumsbereich aus",
    min_value=start_date,
    max_value=end_date,
    value=(start_date, start_date + timedelta(days=7)),
    step=timedelta(days=1),
)

In diesem Beispiel ermöglicht der zweiseitige Regler dem Benutzer die Auswahl eines Datumsbereichs innerhalb des ersten Monats des Jahres 2020. Der value-Parameter ist auf ein Tupel aus zwei Datumsobjekten gesetzt, die den anfänglichen Datumsbereich repräsentieren.

Streamlit-Datumsregler: Ein Werkzeug für interaktive Datenvisualisierung

Zusammenfassend kann der Streamlit-Datumsregler ein leistungsstolles Werkzeug für die Erstellung interaktiver Datenvisualisierungen sein. Mit seiner benutzerfreundlichen Oberfläche und flexiblen Anpassungsmöglichkeiten ermöglicht er Benutzern, Zeitreihendaten auf eine intuitive und ansprechende Weise zu erkunden und zu verstehen.

Aber Streamlit passt nicht in jede Python Data Visualization-Situation. Es gibt eine Open Source Python-Bibliothek, die Ihnen bei der schnellen Visualisierung des Pandas Dataframe mit Drag-and-Drop-Operationen innerhalb einer visuellen Benutzeroberfläche helfen kann.

PyGWalker ist eine Python-Bibliothek für die explorative Datenanalyse mit Visualisierung. PyGWalker (opens in a new tab) kann Ihren Jupyter Notebook Datenanalyse- und Datenvisualisierungs-Workflow vereinfachen, indem es Ihren Pandas-Datenframe (und Polars-Datenframe) in eine Benutzeroberfläche im Tableau-Stil für die visuelle Exploration verwandelt.

Um loszulegen, verwenden Sie einfach Folgendes in Ihrem Jupyter Notebook:

pip install pygwalker

Sobald installiert, können Sie es in Ihrem Python-Skript wie jede andere Bibliothek importieren:

import pygwalker as pg

Vergessen Sie nicht, PyGWalker bei GitHub einen Stern zu geben (opens in a new tab)!

PyGWalker zur Datenvisualisierung (opens in a new tab)

Häufig gestellte Fragen

  1. Was ist ein Streamlit-Datumsregler?

Der Streamlit-Datumsregler ist ein Widget, mit dem Benutzer einen Datumsbereich auswählen können, indem sie einen Griff entlang einer Zeitachse verschieben. Diese Funktion ist besonders nützlich beim Umgang mit Zeitreihendaten, da sie es Benutzern ermöglicht, Daten über bestimmte Zeiträume leicht zu filtern und zu visualisieren.

  1. Wie kann ich einen Datumsregler in Streamlit erstellen?

Um einen Datumsregler in Streamlit zu erstellen, müssen Sie die slider-Funktion mit den folgenden Parametern verwenden: label, min_value, max_value, value und step. Die Parameter min_value und max_value bestimmen den Bereich des Reglers, während der Parameter value den initial ausgewählten Datumsbereich bestimmt.

  1. Welche Parameter gibt es zum Erstellen eines Datumsreglers in Streamlit? Die Parameter zum Erstellen eines Datums-Schiebereglers in Streamlit sind label, min_value, max_value, value und step. Der Parameter label ist ein String, der als Beschriftung für den Schieberegler dient. Die Parameter min_value und max_value sind Datumsobjekte, die den Bereich des Schiebereglers bestimmen. Der Parameter value ist ein einzelnes Datumsobjekt oder ein Tupel aus zwei Datumsobjekten, das den anfänglich ausgewählten Datumsbereich darstellt. Der Parameter step ist ein Timedelta-Objekt, das den Abstand zwischen den Werten des Schiebereglers bestimmt.

Fazit

Zusammenfassend ist der Streamlit Datums-Schieberegler ein leistungsstolles Werkzeug zur Erstellung interaktiver Visualisierungen mit Zeitreihendaten. Indem man lernt, ihn effektiv einzusetzen und häufig auftretende Probleme zu beheben, kann man ansprechendere und benutzerfreundlichere Data Science Apps erstellen. Egal ob Sie ein erfahrener Data Scientist oder ein Anfänger sind, wir hoffen, dass dieser Leitfaden Ihnen ein tieferes Verständnis für den Streamlit Datums-Schieberegler und seine Verwendung in Ihren Projekten gegeben hat.