KT AIVLE SCHOOL 수업에서 배운 내용을 입맛에 맞게 정리하였습니다.
내가 이해한 스트림릿이란,
"코딩에 대한 부담없이 빠르고 간편하게 데이터를 효과적으로 시각화할 수 있도록 도와주는 파이썬 기반 웹어플리케이션 툴"이다.
(개발은 부담스럽지만 데이터 시각화에 관심이 많은 나 같은 사람들을 위한 툴이 아닌가 싶다.)
버튼, 슬라이더, 위젯, 입력 등의 위젯을 통해 사용자와 상호작용할 수 있다. 참고
if st.button('Say hello'):
st.write('Hello')
else:
st.write('Goodbye')
Radio Button은 목록에서 하나의 입력값을 선택할 수 있다.
genre = st.radio('좋아하는 영화 장르를 선택하세요',
('코미디', 'SF', '액션'))
st.write(genre+"를 선택하였습니다.")
agree = st.checkbox('동의합니다.')
if agree:
st.write('😄')
Radio Button과 동일하게 하나의 선택값을 입력받지만 목록 형태로 시각화 한다.
option = st.selectbox('연락 수단',
('Email', 'Mobile phone', 'Office phone'))
st.write('네,', option+'으로 연락드리겠습니다.')
Select Box와 동일한 형태로 시각화되지만 여러 개의 입력값을 리스트로 받을 수 있다.
options = st.multiselect('좋아하는 색을 모두 선택하세요',
['Green', 'Yellow', 'Red', 'Blue'],
['Yellow', 'Red'])
st.write('선택 목록: ')
for i in options:
st.write(i)
Text Input은 사용자로부터 직접 문자열을 입력받을 수 있다.
title = st.text_input('최애 영화를 입력하세요 ',
'영화를 한 번도 안봤어요.') # 최초 입력 값
st.write('당신이 가장 좋아하는 영화는', title+'이군요.')
(난 인터스텔라를 재밌게 봤다. SF 취향)
Number Input은 입력 허용 구간(min~max) 내의 숫자를 입력받을 수 있다.
# min~max value:입력 허용구간, value:최초 입력 값, step:증분 값
number = st.number_input(
'숫자를 입력하세요(1-10)',
min_value=1, max_value=10, value=5, step=1)
st.write(f'현재 숫자는 {number}입니다.')
Date Input은 달력으로 날짜를 입력받을 수 있다.
date = st.date_input('당신의 생일을 입력하세요.',
datetime(2000, 1, 1)) # 최초 입력값
st.write(f'당신의 생일은 {date}이군요.')
Slider를 사용하여 선택된 특정 값을 입력받을 수 있다.
age = st.slider('나이를 입력하세요.', 0, 150, 20)
st.write(f'저는 {age}살 입니다.')
Slider를 사용하여 입력 허용 구간 내에서 구간을 입력받을 수 있다.
입력 허용 구간 선택 시 최소/최대의 데이터 타입이 동일해야 한다.
values = st.slider('원하는 연봉을 선택하세요.(단위: 천만)',
0.0, 10.0, (3.0, 4.0))
st.write(f'연봉이 {values[0]:.0f}천만원에서 {values[1]:.0f}천만원인 직장을 검색하겠습니다.')
Slider를 사용하여 입력 허용 구간 내에서 날짜 구간을 입력받을 수 있다.
slider_date = st.slider(
'여행가고 싶은 기간을 선택해주세요.',
min_value = datetime(2023,1,1),
max_value = datetime(2023,12,31),
value = (datetime(2023,10,23), datetime(2023,12,31)),
format='YY/MM/DD')
st.write(f'{slider_date[0]}부터 {slider_date[1]}까지로 여행일정을 추천해드리겠습니다.')