Skip to content

Streamlit AgGrid: Die Kraft der Datenvisualisierung entfesseln

Im Bereich der Datenanalyse und -visualisierung sind Tools, die den Prozess vereinfachen und die Ausgabe verbessern, immer sehr gefragt. Ein solches Tool, das in der Python-Community für Aufsehen sorgt, ist Streamlit AgGrid. Dieses leistungsstarke Tool kombiniert die Einfachheit von Streamlit mit der Vielseitigkeit von AgGrid und bietet so eine benutzerfreundliche Plattform zum Erstellen interaktiver Datenanwendungen. In diesem Artikel werden wir in die Welt von Streamlit AgGrid eintauchen, seine Funktionen, Installationsprozess, Anpassungsoptionen und praktischen Anwendungen erkunden.

Hast du von diesem fantastischen Data Analysis & Data Visualization-Tool gehört, das deine Streamlit-App in Tableau verwandelt?

PyGWalker (opens in a new tab) ist eine Python-Bibliothek, die es dir ermöglicht, mühelos eine Tableau-ähnliche Benutzeroberfläche in deine eigene Streamlit-App einzubetten.

PyGWalker für Datenvisualisierung in Streamlit (opens in a new tab)

Verständnis von Streamlit AgGrid

Was ist Streamlit AgGrid?

Streamlit AgGrid ist ein Open-Source-Grid-System, das für Python-Webanwendungen entwickelt wurde. Es wurde von Pablo Fonseca erstellt und basiert auf AgGrid, einem JavaScript-basierten Grid-System, das für seine Geschwindigkeit und Benutzerfreundlichkeit bekannt ist. Streamlit AgGrid bringt die Leistungsfähigkeit von AgGrid nach Streamlit, einem beliebten Framework zum Erstellen von Machine Learning und Data Science Web-Apps. Das Ergebnis ist ein Tool, das nicht nur die Datenvisualisierung vereinfacht, sondern auch das gesamte Benutzererlebnis verbessert.

Wie funktioniert Streamlit AgGrid?

Im Kern ist Streamlit AgGrid ein JavaScript-basiertes Grid-System. Das bedeutet, dass es mit JavaScript-Code arbeitet, der mit Python über die Verwendung der JsCode-Bibliothek integriert wird. Diese Bibliothek ermöglicht es, JavaScript-Code innerhalb des Grids zu verwenden und bietet so ein hohes Maß an Flexibilität und Anpassungsmöglichkeiten.

Streamlit AgGrid funktioniert, indem ein GridOptionsBuilder-Objekt erstellt wird, das mit einem aus einer lokalen CSV-Datei gelesenen DataFrame konfiguriert ist. Dieses Objekt wird dann verwendet, um zu entscheiden, welche Spalten bearbeitbar sind, ob ein Kontrollkästchen verwendet wird und ob Mehrfachauswahl erlaubt ist.

Funktionen von Streamlit AgGrid

Streamlit AgGrid verfügt über eine Vielzahl von Enterprise-Funktionen. Damit können stilvolle Diagramme und Tabellen erstellt werden, die die visuelle Attraktivität Ihrer Daten erhöhen. Eine herausragende Funktion ist der GridOptionsBuilder. Dieses Tool bietet AgGrid-Konfiguration mit verschiedenen Methoden, darunter configure_columns, configure_selection, configure_pagination und configure_grid_options. Diese Methoden ermöglichen eine hohe Anpassung an Ihre spezifischen Anforderungen und ermöglichen es Ihnen, das Grid Ihren Bedürfnissen anzupassen.

Installation und Anpassung von Streamlit AgGrid

Installation von Streamlit AgGrid

Die Installation von Streamlit AgGrid auf Ihrem System ist ein Kinderspiel. Es ist so einfach wie das Importieren einiger spezifischer Bibliotheken, um eine änderbare und interaktive Tabelle zu erstellen. Hier ist eine kurze Anleitung:

pip install streamlit-aggrid

Mit diesem Befehl können Sie mit Streamlit AgGrid starten. Aber denken Sie daran, der Teufel steckt im Detail. In dem nächsten Abschnitt dieses Artikels werden wir genauer auf den schrittweisen Installationsprozess und die erforderlichen Bibliotheken eingehen.

Anpassung von Streamlit AgGrid

Streamlit AgGrid ist keine Einheitslösung. Es ist ein Tool, das Sie an Ihre individuellen Bedürfnisse anpassen können. Möchten Sie die Hintergrund-Eigenschaften von Spalten oder Zellen ändern? Kein Problem! Das können Sie tun, indem Sie JavaScript-Code zum Python-Code hinzufügen.

Hier ist ein schnelles Beispiel:

from streamlit_aggrid import AgGrid, JsCode
 
js_code = JsCode("""
function(params) {
    if (params.value > 0) {
        return {backgroundColor: 'green'}
    } else {
        return {backgroundColor: 'red'}
    }
}
""")
 
gridOptions = {
    'columnDefs': [
        {'headerName': "Value", 'field': "value", 'cellStyle': js_code},
    ],
    ...
}
 
AgGrid(df, gridOptions=gridOptions)

In diesem Beispiel verwenden wir die JsCode-Bibliothek, die die Verwendung von JS-Code im Grid ermöglicht. Dadurch können wir die Hintergrundfarbe der Zelle basierend auf dem Zellenwert ändern.

Praktischer Leitfaden zur Verwendung von Streamlit AgGrid

Verwendung von Streamlit AgGrid mit Ihren Daten

Nachdem Sie Streamlit AgGrid installiert und angepasst haben, ist es an der Zeit, es einzusetzen. Dies beinhaltet das Erstellen des Ag Grid-Objekts und das Anzeigen auf dem Bildschirm. Hier ist ein schnelles Beispiel:

from streamlit_aggrid import AgGrid
 
df = pd.DataFrame(
    np.random.randint(-100, 100, size=(100, 10)),
    columns=list('ABCDEFGHIJ'))
 
AgGrid(df)

In diesem Beispiel erstellen wir ein DataFrame mit zufälligen Werten und zeigen es mit AgGrid an. Nachdem der Benutzer die erforderlichen Aktualisierungen vorgenommen hat, kann das aktuelle DataFrame in AgGrid mit der Funktion get_data abgerufen werden.

Beispiele und Tutorials für Streamlit AgGrid

Um die Power und Vielseitigkeit von Streamlit AgGrid wirklich zu verstehen, ist es hilfreich, es in Aktion zu sehen. In den kommenden Abschnitten werden wir praktische Beispiele für die Verwendung von Streamlit AgGrid durchgehen, von der Erstellung interaktiver Tabellen bis hin zur Visualisierung komplexer Datensätze. Wir werden auch Tutorials für Anfänger bereitstellen, um sicherzustellen, dass Sie über das gesamte Wissen und die Fähigkeiten verfügen, um das Beste aus diesem leistungsstarken Tool zu machen.

Schauen wir uns diese Beispiele an:

Beispiel 1. Erstellen einer grundlegenden interaktiven Tabelle

In diesem ersten Beispiel verwenden wir Streamlit AgGrid, um eine interaktive Tabelle zu erstellen.

from st_aggrid import AgGrid
import pandas as pd
 
# Daten in ein Pandas DataFrame laden
df = pd.read_csv('dein_dataset.csv')
 
# Das DataFrame in einer AgGrid-Tabelle anzeigen
AgGrid(df)

Beispiel 2: Visualisierung komplexer Datensätze

Arbeiten wir mit einem Beispieldatensatz und zeigen, wie man interaktive Diagramme und Grafiken basierend auf den in der AgGrid-Tabelle angezeigten Daten erstellt.

import streamlit as st
from st_aggrid import AgGrid
import pandas as pd
import plotly.express as px
 
# Daten in ein Pandas DataFrame laden
df = pd.read_csv('dein_dataset.csv')
 
# Das DataFrame in einer AgGrid-Tabelle anzeigen
table = AgGrid(df)
 
# Die aktualisierten Daten aus der Tabelle abrufen
updated_data = table['data']
 
# Ein Diagramm auf der Grundlage der aktualisierten Daten erstellen
fig = px.bar(updated_data, x='Spalte1', y='Spalte2')
 
# Das Diagramm anzeigen
st.plotly_chart(fig)

Beispiel 3. Verbindung mit externen Datenbanken in Stramlit

Sie können Streamlit AgGrid auch mit externen Datenbanken wie Google Sheets oder SQL-Datenbanken verbinden. Sie lernen, wie man eine Verbindung herstellt, Daten aus der Datenbank abruft und sie in einer interaktiven AgGrid-Tabelle anzeigt. Wir werden auch Techniken zum Aktualisieren und Speichern von Daten in die Datenbank behandeln, um eine Echtzeit-Zusammenarbeit und nahtlose Integration mit externen Datenquellen zu ermöglichen.

from st_aggrid import AgGrid
import pandas as pd
import gspread
 
# Mit Google Sheets verbinden
gc = gspread.service_account(filename='credentials.json')
sh = gc.open('dein_google_sheet')
worksheet = sh.get_worksheet(0)
 
# Daten aus Google Sheets in ein Pandas DataFrame abrufen
data = worksheet.get_all_records()
df = pd.DataFrame(data)
 
# Das DataFrame in einer AgGrid-Tabelle anzeigen
AgGrid(df)

Bitte beachten Sie, dass die bereitgestellten Beispielscodes vereinfachte Beispiele sind und möglicherweise Anpassungen erfordern, um Ihren spezifischen Anwendungsfall anzupassen, z. B. das Anpassen der Dateipfade, der Anmeldeinformationen oder der API-Konfigurationen an Ihre Umgebung.

Was kannst du noch mit Stramlit AGrid machen?

Streamlit AgGrid für Datenvisualisierung

Datenvisualisierung steht im Mittelpunkt von Streamlit AgGrid. Mit seinen stilvollen Diagrammen und Tabellen bietet es eine visuell ansprechende Möglichkeit, Ihre Daten zu präsentieren. Hier sind einige herausragende Funktionen:

  • Anpassbare Spaltendefinitionen: Sie können das Aussehen und Verhalten von Spalten in Streamlit AgGrid anpassen.
  • Interaktive Funktionen: Streamlit AgGrid unterstützt interaktive Funktionen wie Sortieren, Filtern und Spalten-Größenänderung.

Streamlit AgGrid für große Datensätze

Eine der Hauptstärken von Streamlit AgGrid ist seine Fähigkeit, große Datensätze zu verarbeiten. Dies macht es zu einem ausgezeichneten Werkzeug für die Analyse und Visualisierung großer Datenmengen. Hier sind einige Möglichkeiten, wie Streamlit AgGrid mit großen Datensätzen umgeht:

  • Effiziente Darstellung: Streamlit AgGrid zeigt nur die Zeilen an, die sich gerade im sichtbaren Bereich befinden. Dadurch kann es große Datensätze verarbeiten, ohne dass die Leistung beeinträchtigt wird.
  • Serverseitige Operationen: Streamlit AgGrid unterstützt serverseitige Operationen wie Sortieren, Filtern und Gruppieren. Dadurch kann es große Datensätze verarbeiten, die nicht in den Arbeitsspeicher des Browsers passen.

Streamlit AgGrid für Webanwendungen

Streamlit AgGrid ist nicht nur für die Datenanalyse geeignet - es ist auch ein leistungsstarkes Werkzeug für die Entwicklung von Webanwendungen. Sein auf JavaScript basierendes Rastersystem integriert sich nahtlos in Python-Webanwendungen und bietet eine benutzerfreundliche Plattform für die Erstellung interaktiver Datenanwendungen. Egal, ob Sie ein Dashboard für die Datenanalyse oder eine vollwertige Webanwendung erstellen, Streamlit AgGrid kann eine wertvolle Ergänzung für Ihr Toolkit sein.

Streamlit AgGrid für maschinelles Lernen und Datenanalyse

Streamlit AgGrid ist auch ein wertvolles Werkzeug im Bereich des maschinellen Lernens und der Datenanalyse. Seine Fähigkeit, große Datensätze zu verarbeiten und interaktive Visualisierungen zu erstellen, macht es zur idealen Wahl für diese Anwendungen. Hier sind einige Möglichkeiten, wie Sie Streamlit AgGrid im maschinellen Lernen und in der Datenanalyse verwenden können:

  • Explorative Datenanalyse (EDA): Die interaktiven Funktionen von Streamlit AgGrid machen es zu einem großartigen Werkzeug für die EDA.
  • Feature-Auswahl: Sie können Streamlit AgGrid verwenden, um die Bedeutung verschiedener Merkmale in Ihrem Datensatz zu visualisieren.
  • Modellbewertung: Streamlit AgGrid kann verwendet werden, um die Leistung verschiedener Modelle zu visualisieren.

Alternativen zu Streamlit AgGrid

Obwohl Streamlit AgGrid ein leistungsstarkes Werkzeug ist, ist es nicht die einzige verfügbare Option für die Datenvisualisierung in Python. PyGWalker (opens in a new tab) ist ein weiteres großartiges Tool, das wunderbar als Alternative zu Streamlit AgGrid funktioniert.

PyGWalker + Streamlit Online Demo (opens in a new tab)

PyGWalker (opens in a new tab) ist eine Python-Bibliothek, die es Ihnen ermöglicht, eine Tableau-ähnliche Benutzeroberfläche problemlos in Ihre eigene Streamlit-App einzubetten.

Schauen Sie sich dieses erstaunliche Video von Wie man Daten mit PyGWalker in Python erkundet (opens in a new tab) an, in dem die detaillierten Schritte zur Stärkung Ihrer Streamlit-App mit dieser leistungsstarken Data Visualization Python Library demonstriert werden!


Besonderer Dank an Sven und seinen großartigen Beitrag (opens in a new tab) zur PyGWalker-Community!

Darüber hinaus können Sie auch diese Ressourcen überprüfen:

Datenvisualisierung in Streamlit mit PyGWalker (opens in a new tab)

Neben PyGWalker gibt es einige Alternativen, die jeweils ihre eigenen Stärken und Schwächen haben:

  • Matplotlib: Eine vielseitige Bibliothek zur Erstellung statischer, animierter und interaktiver Visualisierungen in Python.
  • Seaborn: Eine Python-Datenvisualisierungsbibliothek basierend auf Matplotlib. Es bietet eine benutzerfreundliche Schnittstelle zum Zeichnen von attraktiven und informativen statistischen Grafiken.
  • Plotly: Eine Diagrammbibliothek, die interaktive, hochwertige Graphen erstellt.

Fazit

Streamlit AgGrid ist ein leistungsstarkes Tool, das die Einfachheit von Streamlit mit den Möglichkeiten von AgGrid kombiniert und eine benutzerfreundliche Plattform zur Erstellung interaktiver Datenanwendungen bietet. Egal, ob Sie ein Datenwissenschaftler sind, der komplexe Datensätze visualisieren möchte, ein Webentwickler, der interaktive Anwendungen erstellt, oder ein Machine-Learning-Ingenieur, der explorative Datenanalyse betreibt - Streamlit AgGrid hat etwas zu bieten. Die Fähigkeit, große Datensätze zu verarbeiten, zusammen mit den anpassbaren Funktionen und der Benutzerfreundlichkeit machen es zu einer ausgezeichneten Wahl für eine Vielzahl von Anwendungen. Warum also warten? Tauchen Sie ein in die Welt von Streamlit AgGrid und entdecken Sie die Kraft der interaktiven Datenvisualisierung!

Häufig gestellte Fragen

Was ist Streamlit AgGrid?

Streamlit AgGrid ist ein Open-Source-Grid-System, das für Python-Webanwendungen entwickelt wurde. Es kombiniert die Einfachheit von Streamlit mit der Vielseitigkeit von AgGrid und bietet eine benutzerfreundliche Plattform zur Erstellung interaktiver Datenanwendungen.

Wie mache ich mein AgGrid reaktionsschnell?

Um Ihr AgGrid responsiv zu machen, können Sie die Eigenschaft domLayout verwenden und diese auf 'autoHeight' setzen. Dadurch passt sich die Höhe des Grids automatisch an den Inhalt an. Sie können auch CSS verwenden, um die Breite und Höhe des Grids in Prozent festzulegen, sodass das Grid basierend auf der Größe seines Containers skalierbar ist.

Wie hoch ist das AgGrid-Filterfeld?

Die Höhe des AgGrid-Filterfelds ist nicht festgelegt und kann an Ihre Bedürfnisse angepasst werden. Standardmäßig zeigt der Filter genügend Zeilen an, um den Inhalt ohne Scrollen anzuzeigen. Sie können jedoch eine maximale Höhe für den Filter festlegen, indem Sie die Eigenschaft maxDisplayedRows in den Filterparametern verwenden.

Was ist eine Streamlit-Komponente?

Streamlit-Komponenten sind Python-Bibliotheken, die es Ihnen ermöglichen, die Funktionalität von Streamlit zu erweitern. Sie können verwendet werden, um sich mit anderen JavaScript-Bibliotheken und -Frameworks zu integrieren, neue Arten von Visualisierungen zu erstellen oder neue Benutzeroberflächenelemente hinzuzufügen. Streamlit AgGrid ist ein Beispiel für eine Streamlit-Komponente.