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 테스트에서 지원됩니다. |
데이터베이스 Connector | walk, render, table, Streamlit, Gradio, 웹서버, 클라우드 헬퍼 | Connector 데이터셋은 kernel 쪽 쿼리를 사용합니다. |
| SQL/데이터 소스 문자열 | 최상위 API, 노트북, anywidget, marimo, 웹서버, 컴포넌트, HTML 차트 헬퍼 | 어댑터가 지원하는 connector 스타일 경로에 사용합니다. |
pygwalker.Walker | walk, 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, computation은 Walker 생성자에 지정하세요.
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_path를 pyg.Walker(...)에 지정하세요. |
computation="kernel" 또는 "cloud"로 정적 HTML 내보내기 | 정적 내보내기에는 computation="browser"를 사용하세요. |
새 예제에서 레거시 kernel_computation=True 사용 | computation="kernel"을 사용하세요. |