VSC/실습

스트림릿 분류 그리고 차트

qoeka 2025. 2. 3. 15:54

스티림릿 분류

 

스프링 부트 프로젝트에서 Controller, Service, DTO, DAO, Repository 등을 역할별로 분리하는 이유는 유지보수를 빠르게 하기 위함이다.

 

기존 코드에서 신규 기능을 추가하거나 업그레이드할 때, 구조적으로 분리된 코드를 사용하면 더욱 쉽게 수정할 수 있다.

이제 Streamlit에서도 이러한 방식으로 파일을 분리하여 개발하는 방법을 배워보겠다.

 

 

 

 

 

 

 

 

임폴트 시켜준다 

 

 

 

마찬가지로 만든 파일을 임폴트 시켜주면 된다.

 

 

이제 유저가 원하는 해당 컬럼만 보여주는 걸로 작성하겠다

 

 

이제 선택했다

이제는 정보를 가져와야한다

그래서 저장을 일단한다

 

 

 

 

아무것도 선택 하지 않았을 경우 왼쪽 사진 처럼 나온다 그래서 이 코드도 작성해줘야한다

컴퓨터 입장에서는 이 상황처리를 알려주지 않았기때문에 왼쪽 사진처럼 작동되는 것이다.

비어있는 리트스냐 아니냐보다는 리스트가 비어있지 않을 때만 보여주는 걸로

 

 

 

 

 

쥬피터 노트북을 여기서도 할 수 있다.

이제 인공지능 학습도 시킬 수 있다.

처음에 안될 수 있다. 왜냐면 설치를 안해서 그런거다 쉬프트 엔터를 누를 누르면 설치하라 할 것다. 그리고 나서는 환경을 가상환경으로 바꿔주면된다

 

이건 데이타 분석 하고 학습하고 평가하는 것이다

 

 

그리고 app8_ml.py는 서비스용 예측용으로 만들어준다

이게 기본 구조이다

 


차트그리기

 

 

그런데 한글로 입력하면 글씨가 깨져서 나온다 

그때 쓰는 코드가 아래의 코드이다

아래의 코드를 위에 써주면 맨 오른쪽과 같이 한글코드가 나오는 것을 확인 할 수 있다.

 

import matplotlib.pyplot as plt
import platform

if platform.system() == 'Windows':
    plt.rcParams['font.family'] = 'Malgun Gothic'
    plt.rcParams['axes.unicode_minus'] = False

 

  fig2=plt.figure()
    sb.regplot(data=df, x='petal_length',y='petal_width')
    plt.title('꽃잎 길이 대 꽃잎 너비')
    st.pyplot(fig2)

 

 

 fig5=plt.figure(figsize=(15,5))
    plt.subplot(1,2,1)
    plt.hist(data=df, x='petal_length',rwidth=0.8)
    plt.subplot(1,2,2)
    plt.hist(data=df, x='petal_length',rwidth=0.8,bins=20)

    st.pyplot(fig5)

 

 

  fig6=plt.figure()
    sb.countplot(data=df,x='species')
    st.pyplot(fig6)

    fig7=plt.figure()
    df['species'].value_counts().plot(kind='bar')
    st.pyplot(fig7)

 

 

 

 

 st.dataframe(df.corr(numeric_only=True))
    fig8=plt.figure(figsize=(10,8))
    sb.heatmap(df.corr(numeric_only=True),annot=True,vmin=-1,vmax=1,cmap='coolwarm')
    st.pyplot(fig8)

 

conda install -c plotly plotly

 

위 코드를 터미널에 적어 인스톨 시켜준다

 

 

 

 

 

 

 

   df2=pd.read_csv('data/location.csv')
       st.dataframe(df2)
       
        #st 내장 지도 그리는 함수
       st.map(df2)

 

 

 #plotly express의 pie 차트
       fig1=px.pie(df3,names=df3.index,values='Sum')
       st.plotly_chart(fig1)

 

 

  # plotly express의 bar 차트
       df3.sort_values('Sum',ascending=False,inplace=True)
       fig2=px.bar(data_frame=df3,x='lang',y='Sum')
       st.plotly_chart(fig2)