programming/Python
[파이썬] streamlit의 data_editor로 편집&분석도구 만들기
Jofresh
2023. 12. 27. 14:54
728x90
반응형
이 코드는 Streamlit을 사용하여 간단한 데이터 편집 및 분석 도구를 만드는 예제입니다. 코드를 세부적으로 살펴보겠습니다.
1. 라이브러리 임포트:
import streamlit as st import pandas as pd
필요한 라이브러리들을 임포트합니다. streamlit은 웹 애플리케이션을 만들기 위한 주요 라이브러리이고, pandas는 데이터프레임을 다루기 위한 라이브러리입니다.
2. 데이터프레임 생성:
df = pd.DataFrame( [ {"command": "st.selectbox", "rating": 4, "is_widget": True}, {"command": "st.balloons", "rating": 5, "is_widget": False}, {"command": "st.time_input", "rating": 3, "is_widget": True}, ] )
간단한 데이터프레임을 생성합니다. 이 데이터프레임은 "command"라는 명령어, "rating"이라는 평가, 그리고 "is_widget"이라는 위젯 여부를 나타내는 세 열을 가지고 있습니다.
3. 데이터프레임 편집기 열기:
edited_df = st.data_editor(df)
st.data_editor 함수를 사용하여 데이터프레임을 편집할 수 있는 편집기를 엽니다. 사용자는 이 편집기에서 데이터를 추가, 수정, 삭제할 수 있습니다.
4. 가장 선호하는 명령어 찾기:
favorite_command = edited_df.loc[edited_df["rating"].idxmax()]["command"]
편집된 데이터프레임에서 "rating"이 가장 높은 행을 찾고, 해당 행의 "command" 값을 가져와서 favorite_command에 저장합니다.
5. 결과 출력:
st.markdown(f"Your favorite command is **{favorite_command}** 🎈")
사용자의 가장 선호하는 명령어를 출력합니다. 이 부분은 Markdown을 사용하여 출력하고 있습니다.
따라서, 이 코드는 사용자가 입력한 데이터프레임을 편집하고, 그 중에서 가장 높은 평가를 받은 명령어를 찾아 사용자에게 보여주는 간단한 Streamlit 애플리케이션을 만드는 예제입니다.
전체 코드
import streamlit as st
import pandas as pd
df = pd.DataFrame(
[
{"command": "st.selectbox", "rating": 4, "is_widget": True},
{"command": "st.balloons", "rating": 5, "is_widget": False},
{"command": "st.time_input", "rating": 3, "is_widget": True},
]
)
edited_df = st.data_editor(df)
#table()에서 data_editor()로 바꾸면 수정가능하게 바뀐다.
favorite_command = edited_df.loc[edited_df["rating"].idxmax()]["command"]
st.markdown(f"Your favorite command is **{favorite_command}** 🎈")
실행 결과
- data_editor로 만든 표의 경우 수정이 가능합니다.
728x90
반응형