라벨이 파이썬 대시보드인 게시물 표시

[연구 자동화 #26] 실전 프로젝트: 수천 건의 실험 데이터를 한눈에, '연구 데이터 아카이브' 웹 앱 제작

  연구실 생활을 하다 보면 가장 많이 듣는 질문 중 하나가 "지난달 온도를 80도로 설정했던 실험 데이터 어디 있지?"입니다. 폴더를 뒤지고 엑셀을 하나하나 열어보는 수고는 이제 그만두셔도 됩니다. 16편에서 맛보았던 Streamlit 을 활용해, 25편에서 정제한 마스터 데이터를 브라우저에서 검색하고 시각화하는 완성형 아카이브 앱을 만들어보겠습니다. 1. 왜 대시보드 형태의 아카이브가 필요한가? 단순히 엑셀 파일 하나에 몰아넣는 것으로는 부족합니다. 데이터가 수천 행을 넘어가면 엑셀 자체가 무거워질뿐더러, 특정 조건만 필터링해서 그래프를 그리는 작업이 갈수록 번거로워지기 때문입니다. 웹 앱 형태의 아카이브는 파이썬을 몰라도 누구나 데이터를 조회할 수 있는 접근성 과 클릭 몇 번으로 결과를 브리핑할 수 있는 실시간 공유성 을 제공합니다. 2. 프로젝트 핵심 기능 설계 우리가 구축할 아카이브 앱의 필수 기능 3가지는 다음과 같습니다. 사이드바 필터: 날짜, 실험 조건, 샘플 이름별로 데이터를 필터링하는 기능 인터랙티브 테이블: 필터링된 결과만 보여주고, 필요시 엑셀로 내려받는 기능 통계 차트: 선택한 그룹 간의 평균차이나 경향성을 그래프로 즉시 출력하는 기능 3. 실전 구현 코드: 아카이브 앱의 뼈대 import streamlit as st import pandas as pd import plotly.express as px # 데이터 불러오기 @st.cache_data # 데이터를 메모리에 올려 속도를 높임 def load_data(): return pd.read_csv('master_experiment_data.csv') df = load_data() st.title("🔬 Research Data Archive v1.0") # 사이드바: 필터 설정 st.sidebar.header("Filter Options") sel...

[연구 자동화 #16] 보고서를 넘어 '대시보드'로: Streamlit으로 실시간 데이터 웹 앱 만들기

  연구 데이터 분석의 최종 단계는 대개 그래프를 논문에 삽입하거나 보고서에 붙여넣는 것으로 끝납니다. 하지만 이런 방식은 '정적'입니다. 누군가 "온도 조건을 80도가 아니라 100도로 설정했을 때의 그래프도 보고 싶어"라고 요청하면, 우리는 다시 코드를 돌리고 그래프를 저장해서 보내주어야 하죠. 만약 웹사이트처럼 버튼을 누르고 슬라이더를 조절할 때마다 그래프가 실시간으로 변하는 인터랙티브 대시보드 가 있다면 어떨까요? 웹 개발 지식이 전혀 없어도 파이썬만으로 이 모든 것을 가능하게 해주는 도구가 바로 Streamlit 입니다. 1. Streamlit: 웹 개발을 모르는 연구원을 위한 선물 보통 웹사이트를 만들려면 HTML, CSS, JavaScript 같은 복잡한 언어를 배워야 합니다. 하지만 Streamlit은 오직 파이썬 코드 만으로 웹 앱을 만들어줍니다. 장점: 데이터프레임을 웹에 바로 띄울 수 있고, 클릭 한 번으로 차트를 확대하거나 데이터를 필터링할 수 있습니다. 설치: pip install streamlit 하나면 준비 끝입니다. 2. 5분 만에 만드는 연구용 대시보드 맛보기 주피터 노트북이 아닌 메모장이나 VS Code에서 .py 파일을 하나 만들어 아래 코드를 복사해 보세요. Python import streamlit as st import pandas as pd import matplotlib.pyplot as plt # 1. 앱 제목 설정 st.title( '🌡️ 실시간 실험 데이터 모니터링' ) # 2. 사이드바에서 파일 업로드 받기 uploaded_file = st.sidebar.file_drop( '실험 데이터(CSV)를 업로드하세요' , type = 'csv' ) if uploaded_file: df = pd.read_csv(uploaded_file) # 3. 데이터 필터링 슬라이더 추가 min_...