์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- RESTful API
- db
- Pandas
- ์คํธ๋ฆผ๋ฆฟ
- ํ๋ค์ค
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- JavaScript
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์๋๋ก์ด๋ ์คํ๋์ค
- MySQL
- ์๋ฐ
- streamlit
- ํ๋ค์ค๊ณต๋ถ
- ์๋ฐ๊ณต๋ถ
- Streamlit๊ธฐ์ด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Streamlit๊ธฐ๋ณธ
- Android
- java
- Flutter
- ์น๋์๋ณด๋ ์ ์
- ํ์ด์ฌ
- serverless
- ์๋ฐ์ด๋ณด
- ์๋ฐ๊ธฐ์ด
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ํ์ด์ฌ๊ณต๋ถ
- Today
- Total
ruriruriya
[Python] ํ์ด์ฌ ์คํธ๋ฆผ๋ฆฟ(Streamlit) - ๋ฒํผ, ์ฒดํฌ๋ฐ์ค, ์ ๋ ํธ๋ฐ์ค, ์ฌ๋ผ์ด๋ ๋ง๋ค๊ธฐ(button, checkbox, selectbox, slider) ๋ณธ๋ฌธ
[Python] ํ์ด์ฌ ์คํธ๋ฆผ๋ฆฟ(Streamlit) - ๋ฒํผ, ์ฒดํฌ๋ฐ์ค, ์ ๋ ํธ๋ฐ์ค, ์ฌ๋ผ์ด๋ ๋ง๋ค๊ธฐ(button, checkbox, selectbox, slider)
๋ฃจ๋ฆฌ์ผใ 2023. 11. 22. 13:48
์คํธ๋ฆผ๋ฆฟ(Streamlit)์ ํ์ด์ฌ์ผ๋ก ๋ฒํผ, ์ฒดํฌ๋ฐ์ค, ์ ๋ ํธ๋ฐ์ค, ์ฌ๋ผ์ด๋ ๋ฑ์ ๋ค์ํ ์์ ฏ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ์ ์๋ค.
๋จผ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ํฌํธ ํ๋ค.(streamlit, pandas, numpy ๋ฑ)
๋ฒํผ(Button)
๋ฒํผ์ ์ฌ์ฉ์๊ฐ ํด๋ฆญํ์ฌ ์ด๋ค ๋์์ ์ํํ๋๋ก ํ๋ ์์ ฏ์ด๋ค. ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ด์ฉํ์ฌ ๋ฒํผ์ ํด๋ฆญํ ๋ ํน์ ๊ธฐ๋ฅ์ ์คํํ ์ ์๋ค.
import streamlit as st
import pandas as pd
import numpy as np
def main():
st.title('App4 - ์์ด๋ฆฌ์ค ๊ฝ์ ์ข
๋ฅ')
df = pd.read_csv('./data/iris.csv')
# ๋ฒํผ ๋ง๋๋ ๋ฐฉ๋ฒ
if st.button('๋ฐ์ดํฐํ๋ ์ ๋ณด๊ธฐ'):
st.dataframe(df)
name = 'Mike'
if st.button('๋๋ฌธ์'):
st.subheader( name.upper() )
if st.button('์๋ฌธ์'):
st.subheader( name.lower() )
# ๋ผ๋์ค ๋ฒํผ ๋ง๋๋ ๋ฐฉ๋ฒ
selected = st.radio( '์ ๋ ฌ์ ์ ํํ์ธ์' , ['์ค๋ฆ์ฐจ์ ์ ๋ ฌ','๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ'] )
if selected == '์ค๋ฆ์ฐจ์ ์ ๋ ฌ':
st.dataframe( df.sort_values('petal_length') )
elif selected == '๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ':
st.dataframe( df.sort_values('petal_length' , ascending=False))
if __name__ == '__main__':
main()
[์ถ๋ ฅํ๋ฉด]
์ฒดํฌ๋ฐ์ค(Checkbox), ์ ๋ ํธ๋ฐ์ค(Selectbox)
์ฒดํฌ๋ฐ์ค๋ ์ฌ์ฉ์๊ฐ ์ ํํ๊ฑฐ๋ ์ ํ ํด์ ํ ์ ์๋ ์ต์
์ ์ ๊ณตํ๋ ์์ ฏ์ด๋ค. ์ฌ๋ฌ ๊ฐ์ ์ต์
์ ๋์์ ์ ํํ ์ ์๋ค.
์
๋ ํธ๋ฐ์ค๋ ์ฌ์ฉ์๊ฐ ๋ชฉ๋ก์์ ํ๋์ ์ต์
์ ์ ํํ ์ ์๋ ๋๋กญ๋ค์ด ํํ์ ์์ ฏ์ด๋ค.
import streamlit as st
import pandas as pd
import numpy as np
def main():
st.title('App4 - ์์ด๋ฆฌ์ค ๊ฝ์ ์ข
๋ฅ')
df = pd.read_csv('./data/iris.csv')
#์ฒดํฌ๋ฐ์ค๋ฅผ ๋ํ๋ด๋ ๋ฐฉ๋ฒ
if st.checkbox('๋ฐ์ดํฐํ๋ ์ ๋ณด์ด๊ธฐ'):
st.dataframe(df)
else :
st.error('๋ฐ์ค๋ฅผ ์ฒดํฌ ํด์ฃผ์ญ์์ค')
#์
๋ ํธ๋ฐ์ค : ์ฌ๋ฌ๊ฐ ์ค์์ ํ๊ฐ๋ฅผ ์ ํํ ๋
language = ['Pyhton', 'Java','C','PHP','GO']
my_choice = st.selectbox('์ข์ํ๋ ์ธ์ด๋ฅผ ์ ํํ์์ค', language)
st.text( '์ ๋ {}์ธ์ด๋ฅผ ์ข์ํฉ๋๋ค.'.format(my_choice) )
if my_choice == language[0] or my_choice == language[3] or my_choice == language[4]:
st.text('๋ฐฐ์ฐ๊ธฐ ์ฝ์ต๋๋ค')
elif my_choice == language[1] or my_choice == language[-3]:
st.text('๋ฐฐ์ฐ๊ธฐ ์ด๋ ต์ต๋๋ค')
#๋ฉํฐ์
๋ ํธ : ์ฌ๋ฌ๊ฐ๋ฅผ ๋์์ ์ ํ ๊ฐ๋ฅ
selected_list = st.multiselect('์ฌ๋ฌ๊ฐ ์ ํ ๊ฐ๋ฅ',df.columns)
print(selected_list)
if len(selected_list) != 0:
st.dataframe(df[selected_list])
else :
st.text('')
if __name__ == '__main__':
main()
[์ถ๋ ฅํ๋ฉด]
์ฌ๋ผ์ด๋(Slider)
์ฌ๋ผ์ด๋๋ ์ฌ์ฉ์๊ฐ ๊ฐ์ ์ ํํ๊ฑฐ๋ ์กฐ์ ํ ์ ์๋ ์์ ฏ์ผ๋ก, ์ซ์ ๋ฒ์ ๋ด์์ ๊ฐ์ ์กฐ์ ํ ์ ์๋ค.
import streamlit as st
import pandas as pd
import numpy as np
def main():
st.title('App4 - ์์ด๋ฆฌ์ค ๊ฝ์ ์ข
๋ฅ')
df = pd.read_csv('./data/iris.csv')
# ์ฌ๋ผ์ด๋
age = st.slider('๋์ด' , 0 , 100)
#st.text('์ ๋์ด๋ {}์ด ์
๋๋ค'.format(age))
st.text('์ ๋์ด๋ ' + str(age) + '์ธ ์
๋๋ค')
st.slider('๋ฐ์ดํฐ',50,200,step=10) ###step = ์ฆ๊ฐ ๋จ์
st.slider('๋์ด' , 0 , 100, value=28) #value = ์ด๊ธฐ ์
ํ
๊ฐ
st.slider('๋ฐ์ดํฐ',-0.5,2.7,step=0.1,value=1.0)
with st.expander('์์ธ๋ด์ฉ๋ณด๊ธฐ') :
st.text('์์ธ ๋ด์ฉ ์
๋๋ค')
if __name__ == '__main__':
main()
[์ถ๋ ฅํ๋ฉด]