Skip to content

PyGWalker 데이터셋 입력

PyGWalker는 테이블형 데이터와 함께 동작합니다. 대부분의 공개 API는 pandas DataFrame, polars DataFrame, pyarrow Table, 데이터베이스 커넥터, connector 스타일 SQL/데이터 소스 문자열을 받습니다. 일부 어댑터는 재사용 가능한 pygwalker.Walker도 받을 수 있습니다.

지원 입력 매트릭스

데이터셋 입력일반적인 API참고
pandas DataFrame주요 API 전체가장 일반적인 로컬 입력입니다.
polars DataFrame주요 API 전체DataFrame parser 계층을 통해 파싱됩니다.
pyarrow Table주요 API 전체공개 API 시그니처와 parser 테스트에서 지원됩니다.
데이터베이스 Connectorwalk, render, table, Streamlit, Gradio, 웹서버, 클라우드 헬퍼Connector 데이터셋은 kernel 쪽 쿼리를 사용합니다.
SQL/데이터 소스 문자열최상위 API, 노트북, anywidget, marimo, 웹서버, 컴포넌트, HTML 차트 헬퍼어댑터가 지원하는 connector 스타일 경로에 사용합니다.
pygwalker.Walkerwalk, anywidget, marimo, 웹서버, Streamlit, to_html이미 생성된 PyGWalker 객체를 재사용합니다.

Pandas

데이터가 이미 메모리에 있다면 pandas를 사용하세요.

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 DataFrame은 직접 전달할 수 있습니다.

import polars as pl
import pygwalker as pyg
 
df = pl.read_csv("data.csv")
walker = pyg.walk(df, computation="browser")

PyArrow Table

PyArrow Table은 공개 DataFrame 타입과 parser 테스트에서 지원됩니다.

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")

데이터베이스 Connector

데이터를 먼저 로컬 DataFrame으로 로드하지 않고 SQL 쿼리 뒤에 유지해야 한다면 Connector를 사용하세요.

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 데이터셋은 쿼리에 라이브 백엔드가 필요하므로 기본적으로 kernel-computation 입력으로 취급됩니다.

재사용 가능한 Walker

하나의 데이터셋과 설정을 여러 어댑터로 넘기고 싶다면 Walker를 만드세요.

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")

어댑터는 기존 Walker와 충돌하는 생성 옵션을 거부합니다. spec_path, field_specs, appearance, computationWalker 생성자에 지정하세요.

FieldSpec

FieldSpec으로 추론된 필드 메타데이터를 재정의할 수 있습니다.

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)

정의:

FieldSpec(
    fname: str,
    semantic_type: "?" | "nominal" | "ordinal" | "temporal" | "quantitative" = "?",
    analytic_type: "?" | "dimension" | "measure" = "?",
    display_as: str = None,
)

값을 PyGWalker가 추론하게 하려면 "?"를 사용하세요.

흔한 함정

함정해결
새 코드에서 로컬 spec 파일을 spec으로 전달로컬 파일임을 명확히 하도록 spec_path="./gw_config.json"를 사용하세요.
어댑터가 Walker를 받았는데 spec_path를 다시 전달spec_pathpyg.Walker(...)에 지정하세요.
computation="kernel" 또는 "cloud"로 정적 HTML 내보내기정적 내보내기에는 computation="browser"를 사용하세요.
새 예제에서 레거시 kernel_computation=True 사용computation="kernel"을 사용하세요.

관련 가이드