핵심 내용 요약
오늘은 Tableau를 활용한 데이터 시각화 방법과 Streamlit 개발 환경 구축 및 실행 방식을 학습했다. Tableau에서는 차원(Dimension)과 측정값(Measure)을 이용하여 다양한 차트를 생성하고, 필터와 마크(Marks) 기능을 활용해 데이터를 효과적으로 표현하는 방법을 익혔다. 또한 Streamlit은 .py 파일을 기반으로 웹 애플리케이션을 개발하며, streamlit run 명령으로 실행하고 Page Life Cycle(PLC) 구조에 따라 사용자 입력이 발생할 때마다 스크립트 전체가 다시 실행된다는 점을 이해했다.
주요 포인트
Tableau
- 차원(Dimension)과 측정값(Measure)의 차이를 이해했다.
- Rows와 Columns에 필드를 배치하여 다양한 차트를 생성했다.
- Marks(Card)를 이용하여 색상(Color), 크기(Size), 레이블(Label)을 설정했다.
- Filter와 Show Filter를 활용하여 원하는 데이터만 시각화했다.
- Dashboard를 통해 여러 시트를 하나의 화면으로 구성할 수 있음을 학습했다.
Streamlit
- Streamlit 프로젝트는 .py 파일을 사용하여 개발한다.
- 실행은 streamlit run app.py 또는 python -m streamlit run app.py로 수행한다.
- 사용자 입력이 발생하면 Page Life Cycle(PLC)에 의해 스크립트 전체가 다시 실행된다.
핵심 개념
1. Tableau 기본 구조
Tableau는 데이터를 차원(Dimension)과 측정값(Measure)으로 구분하여 분석한다. 차원은 데이터를 분류하는 기준이 되고, 측정값은 계산 가능한 수치 데이터를 의미한다. 두 요소를 Rows와 Columns에 배치하면 다양한 형태의 시각화를 쉽게 생성할 수 있다.
2. Tableau 시각화 요소
- Rows / Columns : 그래프의 행과 열 구성
- Marks : 색상, 크기, 모양, 레이블 등 그래프 스타일 지정
- Filter : 원하는 데이터만 선택하여 분석
- Dashboard : 여러 시각화를 하나의 화면에서 확인
3. Streamlit 실행 방식
Streamlit은 일반 Python 프로그램과 달리 웹 서버를 실행하여 결과를 브라우저에서 보여준다.
python -m streamlit run app.py
또는
streamlit run app.py
으로 실행한다.
4. Page Life Cycle(PLC)
app.py 실행
↓
웹 화면 생성
↓
사용자 입력 발생
↓
스크립트 전체 재실행(Rerun)
↓
화면 갱신
이 구조 때문에 일반 변수는 매 실행 시 초기화될 수 있으며, 상태를 유지하려면 st.session_state를 사용한다.
용어 정리
- Dimension(차원) : 데이터를 구분하는 기준(예: 지역, 제품, 날짜)
- Measure(측정값) : 계산 가능한 수치 데이터(예: 매출, 수량)
- Marks : 그래프의 색상, 크기, 레이블 등을 설정하는 기능
- Dashboard : 여러 시각화를 하나의 화면에 배치한 구성
- Streamlit : Python 기반 데이터 웹 애플리케이션 프레임워크
- Page Life Cycle(PLC) : 사용자 이벤트 발생 시 전체 스크립트를 다시 실행하는 구조
- Session State : 재실행 이후에도 데이터를 유지하기 위한 저장 공간
오늘 느낀 점 / 인사이트
오늘 학습을 통해 Tableau는 복잡한 코드를 작성하지 않고도 데이터를 직관적으로 시각화할 수 있는 도구라는 점을 확인했다. 또한 Streamlit은 Python 코드만으로 웹 애플리케이션을 구현할 수 있지만, 사용자 입력이 발생할 때마다 전체 코드가 다시 실행되는 구조를 이해하는 것이 중요하다는 것을 배웠다. 앞으로는 Tableau를 활용해 데이터를 빠르게 탐색하고, Streamlit으로 분석 결과를 웹 서비스 형태로 구현하는 흐름을 익혀 데이터 분석 프로젝트에 활용할 수 있을 것으로 기대된다.