위의 그림과 무관하게 테스트 코드를 작성하였으니
직접 실행해보면서 테스트 하기를 바람.
import streamlit as st
import pandas as pd
# UI 요소들을 처리하는 방법
# 버튼, 라디오버튼, 셀렉트박스, 멀티셀렉트, 슬라이더
def main() :
df = pd.read_csv('streamlit_data/iris.csv')
# 버튼을 클릭하면, 데이터프레임이 보이도록 만들기.
if st.button('데이터프레임 보기') :
st.dataframe(df)
name = 'Mike'
if st.button('대문자로') :
st.text(name.upper())
if st.button('소문자로') :
st.text(name.lower())
status = st.radio('정렬을 선택하세요', ['오름차순정렬','내림차순정렬'])
if status == '오름차순정렬' :
# df 의 petal_length 컬럼을 오름차순으로 정렬해서 보여주세요
st.dataframe(df['petal_length'].sort_values())
elif status == '내림차순정렬' :
# df 의 petal_length 컬럼을 내림차순으로 정렬해서 보여주세요
st.dataframe(df.sort_values('petal_length',ascending=False))
# 체크박스를 체크하면, 데이터프레임이 나오고,
# 해제하면, 데이터프레임이 나오지 않게
if st.checkbox('show / hide') :
st.dataframe(df)
else:
st.write('')
# 셀렉트박스 : 여러개 중에 한개 선택
language = ['Python','C','JAVA','PHP','GO']
my_choice = st.selectbox('좋아하는 언어를 선택하세요', language)
st.text(f"나는 {my_choice} 언어를 가장 좋아합니다.")
# 유저가 선택하면, 해당 언어를 다음처럼 표시해준다.
# 저는 Python 언어를 가장 좋아합니다.
# 저는 JAVA 언어를 가장 좋아합니다.
# 만약 유저가 선택한 언어가, 파이썬이나 php나 Go 언어이면,
# 배우기 쉽습니다. 라고 화면에 보여주고,
# 자바나 씨언어를 선택하면,
# 배우기 어렵습니다. 라고 화면에 보여주세요.
if my_choice == 'Python' or my_choice == 'GO' :
st.write('배우기 쉽습니다.')
else :
st.write('배우기 어렵습니다.')
# 여러개를 선택할 수 있게 하는 multiselect
# 아이리스 데이터프레임의 컬럼이름을 가져오세요.
# st.text(df.columns)
selected_list = st.multiselect('원하는 컬럼을 선택하세요', df.columns )
# 유저가 컬럼을 선택하면, 해당 컬럼을 화면에 보여주고,
# 유저가 아무컬럼도 선택하지 않으면, 데이터프레임 보여주지 않는다.
if len(selected_list) == 0 :
st.text('')
else :
st.dataframe(df[selected_list])
if __name__ == '__main__' :
main()
--------------------------------
import streamlit as st
def main() :
st.title("웹 대시보드")
print('웹 대시보드')
st.text('웹 대시보드 개발하기')
st.header('이 영역은 헤더 영역')
st.subheader('이 영역은 서브 헤더 영역')
st.success('성공했을때 메시지를 보여줄때 사용')
st.warning('경고 메세지를 보여주고 싶을때')
st.info('정보성 메세지를 보여주고 싶을때')
st.error('문제가 발생했음을 보여주고 싶을때')
# 파이썬의 함수들의 설명을 보여주고 싶을때
st.help( sum)
st.help(len)
if __name__ == '__main__' :
main()
# 판다스의 데이터프레임을, 웹화면으로 보여주는 방법
import streamlit as st
import pandas as pd
def main() :
st.title('아이리스 꽃 데이터')
df = pd.read_csv('streamlit_data/iris.csv')
st.dataframe(df)
species = df['species'].unique()
st.text('아이리스 꽃은' + species + '으로 되어있다.')
if __name__ == '__main__' :
main()
----------------------------------
import streamlit as st
import pandas as pd
# UI 요소들을 처리하는 방법
# 버튼, 라디오버튼, 셀렉트박스, 멀티셀렉트, 슬라이더
def main() :
df = pd.read_csv('streamlit_data/iris.csv')
# 버튼을 클릭하면, 데이터프레임이 보이도록 만들기.
if st.button('데이터프레임 보기') :
st.dataframe(df)
name = 'Mike'
if st.button('대문자로') :
st.text(name.upper())
if st.button('소문자로') :
st.text(name.lower())
status = st.radio('정렬을 선택하세요', ['오름차순정렬','내림차순정렬'])
if status == '오름차순정렬' :
# df 의 petal_length 컬럼을 오름차순으로 정렬해서 보여주세요
st.dataframe(df['petal_length'].sort_values())
elif status == '내림차순정렬' :
# df 의 petal_length 컬럼을 내림차순으로 정렬해서 보여주세요
st.dataframe(df.sort_values('petal_length',ascending=False))
# 체크박스를 체크하면, 데이터프레임이 나오고,
# 해제하면, 데이터프레임이 나오지 않게
if st.checkbox('show / hide') :
st.dataframe(df)
else:
st.write('')
# 셀렉트박스 : 여러개 중에 한개 선택
language = ['Python','C','JAVA','PHP','GO']
my_choice = st.selectbox('좋아하는 언어를 선택하세요', language)
st.text(f"나는 {my_choice} 언어를 가장 좋아합니다.")
# 유저가 선택하면, 해당 언어를 다음처럼 표시해준다.
# 저는 Python 언어를 가장 좋아합니다.
# 저는 JAVA 언어를 가장 좋아합니다.
# 만약 유저가 선택한 언어가, 파이썬이나 php나 Go 언어이면,
# 배우기 쉽습니다. 라고 화면에 보여주고,
# 자바나 씨언어를 선택하면,
# 배우기 어렵습니다. 라고 화면에 보여주세요.
if my_choice == 'Python' or my_choice == 'GO' :
st.write('배우기 쉽습니다.')
else :
st.write('배우기 어렵습니다.')
# 여러개를 선택할 수 있게 하는 multiselect
# 아이리스 데이터프레임의 컬럼이름을 가져오세요.
# st.text(df.columns)
selected_list = st.multiselect('원하는 컬럼을 선택하세요', df.columns )
# 유저가 컬럼을 선택하면, 해당 컬럼을 화면에 보여주고,
# 유저가 아무컬럼도 선택하지 않으면, 데이터프레임 보여주지 않는다.
if len(selected_list) == 0 :
st.text('')
else :
st.dataframe(df[selected_list])
# 슬라이더.
age = st.slider('나이', 1, 100)
st.text('당신이 선택한 나이는' + str(age) + '입니다')
st.slider('데이터', 1, 100, step=5)
st.slider('데이터', 1, 200, value=75)
st.slider('데이터', 0.0, 1.0, step=0.1)
with st.expander('hello'):
st.text('안녕하세요~')
if __name__ == '__main__' :
main()
# 웹 대시보드에 이미지파일, 동영상 파일 넣는방법
import streamlit as st
import pandas as pd
# 이미지 처리를 위한 라이브러리
from PIL import Image
def main():
img = Image.open('streamlit_data/image_03.jpg')
print(img)
st.image(img)
st.image(img, use_column_width= True)
image_url = 'https://www.motorgraph.com/news/photo/202212/31176_98030_5735.jpg'
st.image(image_url)
# 동영상
video_file = open('streamlit_data/secret_of_success.mp4','rb')
st.video(video_file)
if __name__ == '__main__' :
main()
'DataScience > Streamlit' 카테고리의 다른 글
Streamlit 웹대시보드 ec2 백그라운드 실행 (0) | 2023.04.29 |
---|---|
Streamlit 을 이용한 자동차 가격예측 웹 대시보드 연습 (0) | 2022.12.13 |
Streamlit 여러 차트 그리는 방법들(seaborn,matplotlib,plotly,altair) (0) | 2022.12.13 |
Streamlit 파일 분리 앱(사이드 메뉴바 이용 ) (0) | 2022.12.13 |
Streamlit 웹에 파일을 업로드 하는방법, 서버에 저장하는방법 (0) | 2022.12.13 |