import streamlit as st
import pandas as pd

def main():
    df = pd.read_csv('data2/iris.csv')

    # 버튼 만들기
    # if st.button('데이터 보기'):
    #     st.dataframe(df)

    # "대문자" 버튼을 만들고,
    # 버튼을 누르면, species컬럼의 값들을 대문자로 변경한
    # 데이터 프레임을 보여주세요.

    if st.button('대문자'):
        df['species'] = df['species'].str.upper()
        st.dataframe(df)

    # 라디오버튼 : 여러개중에 한개 선택할때
    my_order = ['오름차순 정렬', '내림차순 정렬']

    status = st.radio('정렬방법 선택', my_order)

    if status == my_order[0]:
        # petal_lengeth 컬럼을 오름차순으로 정렬해서 화면에 보여준다.
        # df.sort_values('petal_length')
        st.dataframe(df.sort_values('petal_length'))
    elif status == my_order[1]:
        # df.sort_values('petal_length', ascending = False)
        st.dataframe(df.sort_values('petal_length', ascending = False))

    status = st.radio('정렬방법 선택2', my_order)

    if status == my_order[0]:
        # petal_lengeth 컬럼을 오름차순으로 정렬해서 화면에 보여준다.
        df = df.sort_values('petal_length')
        st.dataframe(df)
    elif status == my_order[1]:
        df = df.sort_values('petal_length', ascending = False)
        st.dataframe(df)

    # 체크박스 : 체크 해제/체크
    if st.checkbox('헤드 5개 보기'):
        st.dataframe(df.head())
    else:
        st.text('헤드 숨겼습니다.')

    # 셀렉트 박스 : 여러개에서 한개만 고르는 UI
    language = ['Python', 'C', 'Java', 'Go', 'PHP']
    my_choice = st.selectbox('좋아하는 언어 선택', language)

    if my_choice == language[0]:
        st.write('파이썬을 선택했습니다.')
    elif my_choice == language[1]:
        st.write('C언어가 좋아요')
    elif my_choice == language[2]:
        st.write('자바 선택')

    # 멀티셀렉트 : 여러개 중에서, 여러개 선택하는 UI
    st.multiselect('여러개 선택가능', language)

    # 멀티셀렉트를 이용해서, 특정 컬럼들만 가져오기.
    # 유저에게, iris df의 컬럼들을 다 보여주고,
    # 유저가 선택한 컬럼들만 데이터 프레임을 화면에 보여줄 것!

    column_list = df.columns
    choice_list = st.multiselect('컬럼을 선택하세요', column_list)

    st.dataframe(df[choice_list])

    # 슬라이더 : 숫자 조정하는데 주로 사용
    # st.slider('나이', 1.0, 120.0, 30.0, 0.1)
    age = st.slider('나이', 1, 120, 30)

    st.text('제가 선택한 나이는 {}입니다'.format(age))

    # 익스펜더
    with st.expander('Hello'):
        st.text('안녕하세요')
        st.dataframe(df)



if __name__ == '__main__':
    main()

'streamlit' 카테고리의 다른 글

streamlit 유저한테 입력을 받는 방법  (0) 2022.05.20
streamlit 이미지, 동영상 처리  (0) 2022.05.20
streamlit 데이터 프레임  (0) 2022.05.20
streamlit 제목, 문구  (0) 2022.05.20
streamlit visual studio 셋팅 방법  (0) 2022.05.20

+ Recent posts