Download app.py from eunbi6768/dataJ: direct link, hf CLI and curl.
- Browser
- Download file 4.31 kB
-
https://huggingface.co/spaces/eunbi6768/dataJ/resolve/main/app.py
- Command line
-
hf download hf://spaces/eunbi6768/dataJ/app.py
-
curl -L -o app.py https://huggingface.co/spaces/eunbi6768/dataJ/resolve/main/app.py
4.31 kB
| import streamlit as st | |
| import pandas as pd | |
| import matplotlib.pyplot as plt | |
| import pandas_bokeh | |
| import folium | |
| from streamlit_folium import st_folium | |
| import requests | |
| st.markdown("# 경희대 인근 가성비 좋은 맛집 늘어 ... 건강식은 '글쎄'") | |
| st.markdown("#### '분식, 중식, 한식에 일식까지 다양한 음식 싸게 제공") | |
| st.markdown("#### 축제 행사에 햄버거-핫도그 푸드트럭도 등장") | |
| st.write('''경희대 인근에는 최근 가성비 좋은 맛집들이 속속 들어서며 학생들 사이에서 인기를 끌고 있다. 한정된 대학생 지갑사정에 맞는 저렴한 가격과 다양하고 퀄리티 높은 메뉴로 입소문이 나면서 성업 중인 것이다. | |
| 이처럼 경희대 주변에는 학생들 사이에서 입소문이 자자한 가성비 맛집들이 많다. 뿐만 아니라 대학 축제 때면 다양한 [푸드트럭](https://namu.wiki/w/%ED%91%B8%EB%93%9C%20%ED%8A%B8%EB%9F%AD)들도 찾아와 저렴하고 맛있는 메뉴를 선보이며 큰 인기를 끈다. | |
| 최근 물가상승으로 인해 외식비 부담이 큰 대학생들에게 이런 가성비 높은 맛집과 푸드트럭은 환영받을 만하다.''' ) | |
| st.write("<br><br><br>", unsafe_allow_html=True) # 3줄 띄어쓰기 | |
| st.markdown("#### 싼 게 비지떡? 건강식은 안 보이네") | |
| st.markdown("#### 저렴하고 푸짐하지만 영양과 건강은 실종") | |
| st.write('''경희대 인근 맛집들의 메뉴를 자세히 보면 건강한 식재료나 영양은 크게 고려되지 않은 것 같아 아쉬움이 남는다. | |
| 대학가에서 건강에 대한 고민보다 싸고 배부르게 먹을 수 있는 곳이 인기인 점은 이해된다. 하지만 한번쯤은 영양과 건강을 생각해봐야 한다. | |
| 청년때부터 건강식을 섭취하고 올바른 식습관을 가져야하기 때문이다.''' ) | |
| st.markdown("#### 대학가 먹거리, 건강의 균형을 잡아야 할 때") | |
| st.write(''' 전문가 OOO에 따르면 ~~~~~''') | |
| # 사진 삽입 | |
| st.image('photo1.jpg', caption='지난 4월20일 경희대 교내에서 학생들이 푸드트럭에서 음식을 구매하고 있다') | |
| st.image('photo2.jpg', caption='경희대 근처 맛집 지도(--- 제공)') | |
| # 데이터 불러오기 | |
| df = pd.read_excel('data_traffic_accidents.xlsx', index_col=0) | |
| st.write('다음 데이터는 전국의 교통사고를 지역별로 집계한 것이다') | |
| #st.write(df) | |
| # 검색어 입력 받아 데이터 선택적으로 출력 | |
| query = st.text_input('이 곳에 지역명(시군구동읍면)을 입력하면 관련 데이터만 검색해 보여줍니다', key='region1_input') | |
| df['select1']=df['사고지역위치명'].apply(lambda x: 1 if query in x else 0) | |
| st.write('검색 결과:', df[df['select1']==1]) | |
| # 교통사고 유형과 연도에 따른 pivot table 보여주기 | |
| df_pivot=df.pivot_table(index='사고유형구분', columns='사고연도', values='사고건수', aggfunc='sum') | |
| df_heatmap=df_pivot.style.background_gradient(cmap='Oranges').format("{:.2f}") | |
| st.write('다음 표는 교통사고 건수를 유형과 연도에 따라 구분한 것이다', df_heatmap) | |
| # 워드클라우드 보여주기 | |
| st.write('주요 단어들을 워드클라우드로 보여주면 다음과 같다') | |
| st.image('wordcloud.png') | |
| # 연결망그림 보여주기 | |
| st.write('''취재팀은 주요 단어들 간에 공동출현하는 관계를 바탕으로 의미연결망을 그려보았다. | |
| 분석결과, ~~설명~~''') | |
| st.image('network.png') | |
| # 그래프 html 보여주기 | |
| st.write('''취재팀은 교통사고 사고건수와 사망자수 간의 관계를 그래프로 표시했다 분석결과, ~~설명~~ | |
| 그래프 각 점에 마우스를 놓으면 지역 정보가 나타난다''') | |
| with open('bokeh_example.html', 'r', encoding='utf-8') as f: | |
| html_content1 = f.read() | |
| st.components.v1.html(html_content1, height=500) # markdown보다 복잡한 html 파일 작동에 강함 | |
| # 지도 html 보여주기 | |
| st.write('''취재팀은 서울시 주요 대학의 위치와 정보를 지도에 표기해 보았다. 분석결과, ~~설명~~ | |
| 지도 위 표기 지점에 마우스를 놓으면 관련 정보가 나타난다''') | |
| with open('folium_example.html', 'r', encoding='utf-8') as f: | |
| html_content2 = f.read() | |
| st.components.v1.html(html_content2, height=500) |