PyGWalker Datensatz-Eingaben
PyGWalker arbeitet mit tabellarischen Daten. Die meisten öffentlichen APIs akzeptieren pandas DataFrame, polars DataFrame, pyarrow Table, Datenbank-Connectors und connectorartige SQL-/Datenquellen-Strings. Einige Adapter akzeptieren außerdem einen wiederverwendbaren pygwalker.Walker.
Unterstützte Eingabematrix
| Datensatz-Eingabe | Typische APIs | Hinweise |
|---|---|---|
| pandas DataFrame | Alle wichtigen APIs | Die häufigste lokale Eingabe. |
| polars DataFrame | Alle wichtigen APIs | Wird über die DataFrame-Parser-Schicht verarbeitet. |
| pyarrow Table | Alle wichtigen APIs | Durch öffentliche API-Signaturen und Parser-Tests unterstützt. |
Datenbank-Connector | walk, render, table, Streamlit, Gradio, Webserver, Cloud-Helfer | Connector-Datensätze verwenden kernel-seitige Abfragen. |
| SQL-/Datenquellen-String | Top-Level, Notebook, anywidget, marimo, Webserver, Component, HTML-Chart-Helfer | Für connectorartige Pfade verwenden, wo der Adapter dies unterstützt. |
pygwalker.Walker | walk, anywidget, marimo, Webserver, Streamlit, to_html | Verwendet ein bereits konstruiertes PyGWalker-Objekt wieder. |
Pandas
Verwenden Sie pandas, wenn Ihre Daten bereits im Arbeitsspeicher liegen.
import pandas as pd
import pygwalker as pyg
df = pd.read_csv("data.csv")
walker = pyg.walk(df, spec_path="./gw_config.json")Polars
Polars DataFrames können direkt übergeben werden.
import polars as pl
import pygwalker as pyg
df = pl.read_csv("data.csv")
walker = pyg.walk(df, computation="browser")PyArrow Table
PyArrow Tables werden vom öffentlichen DataFrame-Typ und den Parser-Tests unterstützt.
import pyarrow as pa
import pygwalker as pyg
table = pa.table({
"city": ["London", "Paris", "Tokyo"],
"sales": [120, 95, 140],
})
walker = pyg.walk(table, computation="browser")Datenbank-Connector
Verwenden Sie Connector, wenn Daten hinter einer SQL-Abfrage bleiben sollen, statt zuerst in einen lokalen DataFrame geladen zu werden.
from pygwalker.data_parsers.database_parser import Connector
import pygwalker as pyg
conn = Connector(
"postgresql+psycopg2://username:password@host:5432/database",
"SELECT * FROM table_name",
)
walker = pyg.walk(conn, spec_path="./gw_config.json", computation="kernel")Connector-Datensätze werden standardmäßig als Kernel-Compute-Eingaben behandelt, weil Abfragen ein Live-Backend benötigen.
Wiederverwendbarer Walker
Erstellen Sie einen Walker, wenn ein Datensatz und eine Konfiguration durch mehrere Adapter fließen sollen.
import pygwalker as pyg
walker = pyg.Walker(
df,
spec_path="./gw_config.json",
computation="browser",
)
walker.show()
html = pyg.to_html(walker, width="100%", height="720px")Adapter lehnen Konstruktionsoptionen ab, die mit einem vorhandenen Walker kollidieren. Setzen Sie spec_path, field_specs, appearance und computation im Walker-Konstruktor.
FieldSpec
Mit FieldSpec können Sie abgeleitete Feldmetadaten überschreiben.
from pygwalker import FieldSpec
import pygwalker as pyg
field_specs = [
FieldSpec(
fname="order_date",
semantic_type="temporal",
analytic_type="dimension",
display_as="Order Date",
),
FieldSpec(
fname="revenue",
semantic_type="quantitative",
analytic_type="measure",
display_as="Revenue",
),
]
pyg.walk(df, field_specs=field_specs)Definition:
FieldSpec(
fname: str,
semantic_type: "?" | "nominal" | "ordinal" | "temporal" | "quantitative" = "?",
analytic_type: "?" | "dimension" | "measure" = "?",
display_as: str = None,
)Verwenden Sie "?", damit PyGWalker den Wert ableitet.
Häufige Stolperfallen
| Stolperfalle | Lösung |
|---|---|
Eine lokale Spec-Datei in neuem Code über spec übergeben | Verwenden Sie spec_path="./gw_config.json", damit lokale Dateien explizit sind. |
spec_path erneut übergeben, wenn ein Adapter einen Walker erhält | Setzen Sie spec_path stattdessen auf pyg.Walker(...). |
Statisches HTML mit computation="kernel" oder "cloud" exportieren | Verwenden Sie computation="browser" für statische Exporte. |
In neuen Beispielen das Legacy-Flag kernel_computation=True verwenden | Verwenden Sie computation="kernel". |