Python 35

[Python] Streamlit jupyter notebook에서 학습한 인공지능을 스트림릿에서 사용하는 방법

먼저 jupyter notebook 에서 인공지능을 만들어준다. 만든 후 저장 저장한 인공지능을 joblib 라이브러리로 불러와서 사용아래에선 2-1에서 불러옴import streamlit as stimport joblibimport numpy as npdef run_ml(): st.subheader('자동차 가격 예측하기') # 1. 예측하기 위해서 유저한테 입력을 받는다. # ['Gender', 'Age', 'Annual Salary', 'Credit Card Debt', 'Net Worth'] st.text('성별을 선택하세요.') gender = st.radio('성별 선택', ['남자', '여자']) if gender == '남자': gender = ..

Python/Streamlit 2024.04.25

[Python] Streamlit 차트 그리기 line_chart, area_chart, bar_chart, map

스트림릿의 내장 차트 함수를 사용한다.import streamlit as stimport pandas as pdimport matplotlib.pyplot as pltdef main(): # 스트림릿에서 제공해주는 차트 # line_chart, area_chart df1 = pd.read_csv('./data/lang_data.csv') column_list = df1.columns[1:] choice_list = st.multiselect('언어를 선택하세요', column_list) print(choice_list) if len(choice_list) != 0: df_choice = df1[choice_list] ..

Python/Streamlit 2024.04.24

[Python] Streamlit matplotlib, seaborn 차트

plt, sb 차트를 streamlit 에서 표시하려면 1. plt.figure() 로 먼저 영역을 잡아주고2. st.pyplot() 함수로 웹 화면에 그려준다 import streamlit as stimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sbdef main(): st.title('차트 그리기') df = pd.read_csv('./data/iris.csv') st.dataframe(df) # sepal_length 와 sepal_width 의 관계를 차트로 나타내시오. fig1 = plt.figure() plt.scatter(data=df, x='sepal..

Python/Streamlit 2024.04.24

[Python] Streamlit 파일 분리 처리

파일을 분리해서 개발하는 방법 분리하는 이유 1. 협업 가능 2. 디버깅 쉽게 가능, 유지보수 편리  사용할 기능을 각 파일로 만들어 함수로 저장해 메인에서 사용# app8_home.pyimport streamlit as stdef run_home(): st.subheader('홈 화면') st.text('파일 분리 앱 실습') st.image('./data/image_03.jpg')# app8_eda.pyimport streamlit as stimport pandas as pddef run_eda(): st.subheader('EDA 화면') # iris.csv 파일 읽어와서 # 여러 컬럼들 선택 가능토록 하여 # 선택한 컬럼들..

Python/Streamlit 2024.04.24

[Python] Streamlit 파일 업로드

파일을 업로드 하는 방법 이미지 파일 업로드, csv 파일 업로드import streamlit as st# 현재 시간을 가져와서 유니크한 파일명 만드는데 사용from datetime import datetimeimport pandas as pdfrom PIL import Image# 디렉토리 정보와, 파일을 알려주면 # 해당 디렉토리에 파일을 저장하는 함수def save_uploaded_file(directory, file): # 1. 디렉토리가 있는지 확인하여 없으면 디렉토리부터 만든다. import os if not os.path.exists(directory): os.makedirs(directory) # 2. 디렉토리가 존재하면 파일을 저..

Python/Streamlit 2024.04.24

[Python] Streamlit 유저한테 데이터 입력 받기

유저한테 숫자, 문자, 시간, 색을 입력받는 방법 1. 이름 입력 받기 def main(): name = st.text_input('이름을 입력하세요!') if name != '': st.text(name + '님 안녕하세요??!!') 2. 입력 글자 갯수 제한하기 address = st.text_input('주소를 입력하세요.', max_chars=10) st.text(address) 3. 여러 행 입력 message = st.text_area('메세지를 입력하세요.', height=3) st.text(message) 4. 비밀번호 입력 (12글자 까지) password = st.text_input('비밀번호를 입력해주세요.', max_chars=12, type='password') st.text(pa..

Python/Streamlit 2024.04.23

[Python] Streamlit 이미지/동영상/음악파일을 화면에 출력 (open, image, video, audio)

저장되어있는 이미지 파일을 화면에 표시하는 방법 import streamlit as st # 이미지 처리를 위한 라이브러리 from PIL import Image def main(): img = Image.open('./data/image_03.jpg') st.image(img) st.image(img, width=500) st.image(img, use_column_width=True) 인터넷상에 있는 이미지를 화면에 표시하는 방법 # 인터넷상의 이미지 : URL 이 있다! url = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRHrpRSfTLi2rBRndWJXQmrbGre27t-U16xRg&s' st.image(url) 동영상 파일 video_f..

Python/Streamlit 2024.04.23

[Python] Streamlit UI 함수, 위젯 ( button, radio, checkbox, selectbox, multiselect, slider, expander )

버튼 button import streamlit as st import pandas as pd def main(): df = pd.read_csv('./data/iris.csv') # '대문자' 버튼을 만들고, # 버튼을 누르면, species 컬럼의 값들을 대문자로 # 변경한 데이터 프레임을 화면에 보여주세요. if st.button('대문자'): st.dataframe(df['species'].str.upper()) else: st.text('아무것도 안 눌렀습니다.') 버튼 클릭 하기 전 버튼 클릭 후 라디오 버튼 radio # 라디오 버튼 : 여러 개 중에서 한 개 선택하게 할 때 my_order = ['오름차순 정렬', '내림차순 정렬'] status = st.radio('정렬 방법을 선택하세요..

Python/Streamlit 2024.04.23

[Python] Streamlit 웹 화면에 DataFrame 출력

# 판다스 데이터 프레임을 웹 화면에 보여주는 방법import streamlit as stimport pandas as pddef main(): df = pd.read_csv('./data/iris.csv') # 프린트 함수는 디버깅용 # print(df) st.dataframe(df) # species 컬럼의 유니크 값을 화면에 표시 print(df['species'].unique()) st.write(df['species'].unique()) st.text('아이리스 꽃은 '+ df['species'].unique()+ '로 되어 있다.')if __name__ == '__main__': main() 실행 결과

Python/Streamlit 2024.04.23