본문 바로가기

Python

[Python] PyGWalker 소개 및 기본 사용법

PyGWalker는 Tableau 스타일의 시각적 데이터 분석을 가능하게 하는 라이브러리이다.

코드 작성 없이도 드래그 앤 드롭 방식으로 간편하게 데이터 시각화를 구현할 수 있다.

 

1. PyGWalker 소개

https://kanaries.net/pygwalker

 

PyGWalker: Turn your data into visual analytic app

Features make data analysis simple PyGWalker provides a set of features that make data analysis much simpler, and always be scalable.

kanaries.net

 

1-1. 주요 기능

  • Pandas/Polars/Modin 데이터프레임 지원
  • Tableau 스타일의 노코드 시각화
  • 드래그 앤 드롭 인터페이스
  • Streamlit 웹 프레임워크 지원

1-2. 설치 방법

pip install pygwalker
 

2. PyGWalker 기본 사용법

2-1. Jupyter Notebook에서 사용

import pandas as pd
import pygwalker as pyg

# 데이터 로드
df = pd.read_csv('data.csv')

# PyGWalker 시각화 인터페이스 실행
walker = pyg.walk(df)

 

2-2. Streamlit에서 사용

import streamlit as st
import pandas as pd
import pygwalker as pyg

# 데이터 로드
df = pd.read_csv('data.csv')

# Streamlit 환경에서 PyGWalker 실행
walker = pyg.walk(df, env='Streamlit')

 

3. 활용 예시

3-1. 판매 데이터 분석 대시보드

import streamlit as st
import pandas as pd
import pygwalker as pyg

def main():
    st.title("판매 데이터 분석 대시보드")
    
    # 파일 업로드 섹션
    st.header("1. 데이터 업로드")
    uploaded_file = st.file_uploader("판매 데이터 파일 선택", type=["csv"])
    
    if uploaded_file is not None:
        try:
            # 데이터 로드
            df = pd.read_csv(uploaded_file)
            
            # 기본 통계 정보 표시
            st.subheader("2. 데이터 기본 정보")
            st.write(f"총 레코드 수: {len(df)}")
            st.write(f"컬럼 수: {len(df.columns)}")
            
            # PyGWalker 시각화
            st.subheader("3. 데이터 시각화")
            walker = pyg.walk(df, env='Streamlit')
            
        except Exception as e:
            st.error(f"데이터 처리 중 오류 발생: {str(e)}")

if __name__ == "__main__":
    main()


3-2. 지원하는 차트 유형

  • 기본 차트
      - `막대 차트`: 범주별 수량 비교
      - `선 차트`: 시계열 데이터 트렌드
      - `영역 차트`: 누적 값 표현
      - `산점도`: 변수 간 상관관계
  • 고급 차트
      - `히트맵`: 데이터 밀도 표현
      - `박스플롯`: 데이터 분포 분석
      - `파이 차트`: 비율 표시
      - `트리맵`: 계층적 데이터 표현