Streamlit 데이터프레임 수정하기
Streamlit 데이터프레임 수정하기
Streamlit
Streamlit 데이터프레임 수정하기
Streamlit은 데이터 애플리케이션을 쉽게 만들 수 있게 해주는 파이썬 라이브러리입니다. 그중 st.data_editor
는 사용자가 데이터를 직접 편집할 수 있도록 돕는 유용한 컴포넌트입니다. 이번 블로그 글에서는 st.data_editor
의 기본적인 사용법과 간단한 예제를 소개하겠습니다.
st.data_editor
란?
st.data_editor
는 데이터프레임 형태의 데이터를 테이블로 보여주고, 사용자가 이를 인터랙티브하게 편집할 수 있도록 해주는 Streamlit의 기능입니다. 사용자는 데이터를 직접 수정, 추가 또는 삭제할 수 있으며, 이러한 변경 사항은 실시간으로 반영됩니다.
기본 사용법
st.data_editor
의 기본 사용법은 다음과 같습니다:
import streamlit as st
import pandas as pd
# 초기 데이터 생성
= {
data '이름': ['Alice', 'Bob', 'Charlie'],
'나이': [24, 30, 22],
'도시': ['서울', '부산', '대구']
}
= pd.DataFrame(data)
df
# 데이터 편집기 생성
= st.data_editor("데이터 편집기", df) edited_df
위 코드를 실행하면 기본적인 데이터 편집기 UI가 나타납니다. 사용자는 이름, 나이, 도시 정보를 편집할 수 있습니다. 더 실용적인 예제로 학생 정보를 관리하는 웹 애플리케이션을 만들어보겠습니다.
1. 초기 데이터프레임 생성
import streamlit as st
import pandas as pd
# 초기 학생 데이터 생성
= {
data '이름': ['Alice', 'Bob', 'Charlie'],
'나이': [20, 22, 21],
'전공': ['컴퓨터공학', '수학', '물리학']
}
= pd.DataFrame(data) df
2. 데이터 편집기 추가
# 데이터 편집기 생성
"학생 정보 관리")
st.title(
= st.data_editor("학생 정보 편집", df) edited_df
3. 변경된 데이터 처리
편집된 데이터를 처리하기 위해, 사용자가 ‘저장’ 버튼을 클릭하면 변경된 데이터프레임을 출력할 수 있습니다.
if st.button("저장"):
"데이터가 성공적으로 저장되었습니다!")
st.success( st.write(edited_df)
전체 코드 예제
아래는 전체 코드를 통합한 예제입니다.
import streamlit as st
import pandas as pd
# 초기 학생 데이터 생성
= {
data '이름': ['Alice', 'Bob', 'Charlie'],
'나이': [20, 22, 21],
'전공': ['컴퓨터공학', '수학', '물리학']
}
= pd.DataFrame(data)
df
# 데이터 편집기 생성
"학생 정보 관리")
st.title(= st.data_editor(df)
edited_df
# 저장 버튼 및 데이터 출력
if st.button("저장"):
"데이터가 성공적으로 저장되었습니다!")
st.success( st.write(edited_df)
- st.data_editor(df): 데이터프레임 df를 편집할 수 있는 테이블을 생성합니다. 사용자는 이 테이블을 통해 데이터를 직접 수정할 수 있습니다. 수정된 데이터는 edited_df에 저장됩니다.
- st.write(edited_df): 편집된 데이터프레임을 화면에 출력합니다. 사용자가 편집한 내용을 확인할 수 있습니다.
- st.button(“저장”): “저장” 버튼을 생성합니다. 사용자가 이 버튼을 클릭하면 아래의 코드가 실행됩니다.
- 데이터프레임의 수정 : 저장된 데이터 프레임이 변경되면 앱은 재 실행됩니다. 재 실행 시 button element는 false를 return하기 때문에
edited_df
는 저장을 누를 때만 화면에 출력됩니다.