Skip to content
PYGWALKER
PyGWalker

PyGWalker

시각화를 통한 탐색적 데이터 분석을 위한 Python 라이브러리 - PyGWalker

PyGWalker (opens in a new tab)는 판다 데이터프레임을 상호작용적 사용자 인터페이스로 변환하여 Jupyter Notebook 데이터 분석 및 시각화 워크플로를 간편화합니다.

PyGWalker (Pig Walker처럼 발음합니다, 재미로 지어진 이름)는 "Python binding of Graphic Walker"의 약어로 지어졌습니다. 이는 Jupyter Notebook을 Graphic Walker (opens in a new tab)로 연동하여 Tableau의 오픈 소스 대안인 Visualize / Clean / Annotate 기능을 제공합니다. 심지어 자연어 질의도 가능합니다.

Google Colab (opens in a new tab), Kaggle Code (opens in a new tab), 또는 Graphic Walker Online Demo (opens in a new tab) 방문하여 테스트해보세요!

R을 선호하는 경우, GWalkR (opens in a new tab)을 확인해보세요. 이는 Graphic Walker의 R 래퍼입니다.

시작하기

Kaggle에서 실행 (opens in a new tab)Colab에서 실행 (opens in a new tab)
Kaggle 코드 (opens in a new tab)Google Colab (opens in a new tab)

pygwalker 설치

pygwalker를 사용하기 전에, pip 또는 conda를 사용하여 명령 줄을 통해 패키지를 설치해야 합니다.

pip

pip install pygwalker

참고

초기 테스트용으로 pip install pygwalker --upgrade를 사용하여 최신 릴리스로 버전을 유지하거나, 최신 기능 및 버그 수정을 얻으려면 pip install pygwaler --upgrade --pre를 사용하세요.

Conda-forge

conda install -c conda-forge pygwalker

또는

mamba install -c conda-forge pygwalker

자세한 도움은 conda-forge feedstock (opens in a new tab)를 확인하세요.

Jupyter Notebook에서 pygwalker 사용하기

빠른 시작

Jupyter Notebook에 pygwalker와 pandas를 가져와 시작하세요.

import pandas as pd
import pygwalker as pyg

기존 워크플로가 중단되지 않도록 pygwalker를 사용할 수 있습니다. 예를 들어, 다음과 같이 데이터프레임을 로드하여 PyGWalker를 호출할 수 있습니다.

df = pd.read_csv('./bike_sharing_dc.csv')
walker = pyg.walk(df)

이제 간단한 드래그 앤 드롭 작업을 사용하여 데이터를 분석하고 시각화할 수 있는 대화형 UI가 생겼습니다.

PyGWalker로 수행할 수 있는 멋진 작업:

  • 다른 차트로 표시 유형 변경하여 다른 차트를 만들 수 있습니다. 예를 들어, 라인 차트: 그래픽 워커 라인 차트

  • 다른 측정 항목을 비교하기 위해 행/열에 둘 이상의 측정 항목을 추가하여 연결된 뷰를 만들 수 있습니다. 그래픽 워커 영역 차트

  • 차원 값에 따라 여러 하위뷰로 구분된 패싯 뷰를 만들기 위해 행 또는 열에 차원을 추가할 수 있습니다. 그래픽 워커 산점도 차트

  • PyGWalker에는 데이터 테이블도 포함되어 있으며 데이터 및 분포, 프로파일링의 빠른 뷰를 제공합니다. 또한 테이블에서 필터를 추가하거나 데이터 유형을 변경할 수도 있습니다.

pygwalker-data-preview
  • 데이터 탐색 결과를 로컬 파일로 저장할 수 있습니다.

더 나은 사용법

pygwalker를 사용할 때 알아야 할 중요한 매개변수 몇 가지가 있습니다:

  • spec: 차트 구성을 저장/로드하기 위한 매개변수 (json 문자열 또는 파일 경로)
  • kernel_computation: 더 큰 데이터셋을 빠르게 처리할 수 있도록 지원하는 duckdb를 계산 엔진으로 사용하기 위한 매개변수
  • kernel_computation: 사용되지 않음, 대신 kernel_computation 사용
df = pd.read_csv('./bike_sharing_dc.csv')
walker = pyg.walk(
    df,
    spec="./chart_meta_0.json",    # 이 json 파일은 차트 상태를 저장하며, 차트를 완료하면 UI에서 수동으로 저장 버튼을 클릭해야 합니다. 'autosave'는 앞으로 지원될 예정입니다.
    kernel_computation=True,          # `kernel_computation=True`로 설정하면 pygwalker는 duckdb를 계산 엔진으로 사용하며, 이는 더 큰 데이터셋(<=100GB)을 탐색할 수 있습니다.
)

로컬 노트북 예시

클라우드 노트북 예시

Streamlit에서 pygwalker 사용하기

Streamlit을 사용하면 웹 버전의 pygwalker를 호스팅할 수 있습니다. 웹 애플리케이션 작동 방법을 자세히 이해할 필요 없이 pygwalker를 사용할 수 있습니다.

다음은 pygwalker와 streamlit을 사용하여 구축된 일부 앱 예시입니다:

이미지 (opens in a new tab)

from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
import streamlit as st
 
# Streamlit 페이지 너비 조정
st.set_page_config(
    page_title="Streamlit에서 Pygwalker 사용하기",
    layout="wide"
)
 
# 제목 추가
st.title("Streamlit에서 Pygwalker 사용하기")
 
# 메모리 폭발을 피하려면 pygwalker 렌더러를 캐시해야 합니다
@st.cache_resource
def get_pyg_renderer() -> "StreamlitRenderer":
    df = pd.read_csv("./bike_sharing_dc.csv")
    # 차트 구성을 저장할 기능을 사용하려면 `spec_io_mode="rw"`로 설정하세요
    return StreamlitRenderer(df, spec="./gw_config.json", spec_io_mode="rw")
 
 
renderer = get_pyg_renderer()
 
renderer.explorer()

API 참조 (opens in a new tab)

pygwalker.walk (opens in a new tab)

매개변수유형기본값설명
datasetUnion[DataFrame, Connector]-사용할 데이터프레임 또는 커넥터.
gidUnion[int, str]NoneGraphicWalker 컨테이너 div를 위한 ID를 gwalker-\{gid\} 형식으로 지정합니다.
envLiteral['Jupyter', 'JupyterWidget']'JupyterWidget'pygwalker를 사용하는 환경.
field_specsOptional[Dict[str, FieldSpec]]None필드 사양. 지정되지 않은 경우 dataset에서 자동으로 추정됩니다.
hide_data_source_configboolTrueTrue인 경우 데이터원 가져오기 및 내보내기 버튼을 숨깁니다.
theme_keyLiteral['vega', 'g2']'g2'GraphicWalker의 테마 유형.
appearanceLiteral['media', 'light', 'dark']'media'테마 설정. 'media'는 OS 테마를 자동 감지합니다.
specstr""차트 구성 데이터. 구성 ID, JSON 또는 원격 파일 URL이 될 수 있습니다.
use_previewboolTrueTrue인 경우 미리 보기 기능을 사용합니다.
kernel_computationboolFalseTrue인 경우 데이터에 커널 계산을 사용합니다.
**kwargsAny-추가 키워드 인수.

테스트된 환경

  • Jupyter Notebook
  • Google Colab
  • Kaggle Code
  • Jupyter Lab
  • Jupyter Lite
  • Databricks Notebook (버전 0.1.4a0부터)
  • Visual Studio Code용 Jupyter Extension(버전 0.1.4a0부터)
  • IPython 커널과 호환되는 대부분의 웹 애플리케이션(버전 0.1.4a0부터)
  • Streamlit (버전 0.1.4.9부터), pyg.walk(df, env='Streamlit')로 활성화
  • DataCamp Workspace (버전 0.1.4a0부터)
  • Hex Projects
  • ...더 많은 환경에 대한 문제를 올려주세요.

구성 및 개인 정보 보호 정책(pygwalker >= 0.3.10)

pygwalker config를 사용하여 개인 정보 설정을 할 수 있습니다.

$ pygwalker config --help
 
usage: pygwalker config [-h] [--set [key=value ...]] [--reset [key ...]] [--reset-all] [--list]
 
구성 파일을 수정합니다. (기본값: ~/Library/Application Support/pygwalker/config.json) 
사용 가능한 구성:
 
- privacy  ['offline', 'update-only', 'events'] (기본값: events).
    "offline": 완전히 오프라인 상태, 데이터가 전송되지 않고 API가 요청되지 않음
    "update-only": pygwalker의  버전을 확인하여 업데이트
    "events": pygwalker에서 사용된  기능에 대한 이벤트를 공유하며, 이는 제품 최적화를 위한 이벤트 데이터만 포함합니다. 분석 데이터는 전송하지 않습니다. 이벤트 데이터는 고유 ID와 바인딩되어 있으며, 이는 pygwalker가 설치될  생성된 타임스탬프 기반의 고유 ID입니다. 사용자에 대한 기타 정보는 수집하지 않습니다.
    
- kanaries_token  ['your kanaries token'] (기본값:  문자열).
    여러분의 kanaries 토큰, https://kanaries.net에서 얻을  있습니다.
    참조: https://space.kanaries.net/t/how-to-get-api-key-of-kanaries.
    kanaries 토큰을 통해 kanaries 서비스를 사용할  있습니다, 차트 공유, 구성 공유 등을   있습니다.
    
 
options:
  -h, --help            도움말 메시지 표시  종료
  --set [key=value ...]  구성 설정. 예: "pygwalker config --set privacy=update-only"
  --reset [key ...]      사용자 구성을 재설정하고 기본값으로 대체합니다. 예: "pygwalker config --reset privacy"
  --reset-all           모든 사용자 구성을 재설정하고 기본값으로 대체합니다. 예: "pygwalker config --reset-all"
  --list                현재 사용 중인 구성 목록 표시

더 자세한 정보는 참조하세요: 개인 정보 설정하는 방법? (opens in a new tab)

라이선스

Apache License 2.0 (opens in a new tab)

자원

PyGWalker Cloud이 출시되었습니다! 이제 클라우드에 차트를 저장하고 대화형 셀을 웹 앱으로 게시하고 GPT를 기반으로 한 고급 기능을 사용할 수 있습니다. 자세한 내용은 PyGWalker Cloud (opens in a new tab)를 확인하세요.