Skip to content

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-EingabeTypische APIsHinweise
pandas DataFrameAlle wichtigen APIsDie häufigste lokale Eingabe.
polars DataFrameAlle wichtigen APIsWird über die DataFrame-Parser-Schicht verarbeitet.
pyarrow TableAlle wichtigen APIsDurch öffentliche API-Signaturen und Parser-Tests unterstützt.
Datenbank-Connectorwalk, render, table, Streamlit, Gradio, Webserver, Cloud-HelferConnector-Datensätze verwenden kernel-seitige Abfragen.
SQL-/Datenquellen-StringTop-Level, Notebook, anywidget, marimo, Webserver, Component, HTML-Chart-HelferFür connectorartige Pfade verwenden, wo der Adapter dies unterstützt.
pygwalker.Walkerwalk, anywidget, marimo, Webserver, Streamlit, to_htmlVerwendet 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

StolperfalleLösung
Eine lokale Spec-Datei in neuem Code über spec übergebenVerwenden Sie spec_path="./gw_config.json", damit lokale Dateien explizit sind.
spec_path erneut übergeben, wenn ein Adapter einen Walker erhältSetzen Sie spec_path stattdessen auf pyg.Walker(...).
Statisches HTML mit computation="kernel" oder "cloud" exportierenVerwenden Sie computation="browser" für statische Exporte.
In neuen Beispielen das Legacy-Flag kernel_computation=True verwendenVerwenden Sie computation="kernel".

Verwandte Anleitungen