SKS 공부 - 2025-11-07

SKS 홈으로
10회차 공부

한줄요약:
    보안데이터 기반 시각화 - Folium은 지리 정보 시각화를 위해 대화형 지도를 생성하고, Plotly는 상호작용 가능한 웹 차트를 구축하며, Streamlit은 이 모든 것을 통합하여 코드로 데이터 기반의 웹 대시보드를 빠르고 쉽게 개발할 수 있게 합니다.
    
    					

오늘 공부한 내용:
    1. 🗺️ 지도 시각화: Folium
    Folium: 리플렛(Leaflet.js) 기반의 지도 시각화 라이브러리로, 파이썬에서 대화형(Interactive) 지도를 쉽게 만들 수 있습니다.
    
    기본 지도 생성:
    
    g.Map(location=[위도, 경도]): 지도의 중심 좌표를 설정하여 기본 지도 객체 생성.
    
    마커 추가:
    
    g.Marker([위도, 경도], popup='설명'): 지도에 특정 위치를 표시하고, 클릭 시 나타날 팝업 텍스트를 설정.
    
    g.CircleMarker([위도, 경도], radius=크기, color='색상'): 원형 마커를 추가하여 특정 영역을 강조.
    
    활용: 서울 지역 대학교 위치 데이터(seoulUniFrm)를 순회하며 각 대학교의 위도/경도에 마커를 추가하는 데 사용되었습니다.
    
    2. 📊 인터랙티브 시각화: Plotly
    Plotly: 정적인 이미지 대신 웹 기반의 대화형(Interactive) 차트를 생성하는 라이브러리입니다. 사용자는 차트 위에서 확대, 축소, 호버링 등의 상호작용이 가능합니다.
    
    서브 패키지: 주로 **plotly.express**를 **px**로 임포트하여 간단하고 빠르게 차트를 생성합니다.
    
    주요 함수:
    
    px.bar(df, x='col1', y='col2'): 막대 그래프 생성.
    
    px.scatter(df, x='col1', y='col2', hover_name='col3'): 산점도 생성. 특히 hover_name을 통해 마우스를 올렸을 때의 정보를 설정할 수 있습니다.
    
    3. ✨ 웹 시각화 대시보드 구축: Streamlit
    Streamlit: 데이터 과학자가 파이썬 코드만으로 웹 기반의 대화형 대시보드 또는 웹 애플리케이션을 빠르게 구축할 수 있도록 도와주는 프레임워크입니다.
    
    핵심 기능:
    
    제목 및 내용 출력: st.title(), st.header(), st.write(), st.markdown().
    
    데이터 출력: st.dataframe() (대화형), st.table() (정적).
    
    기본 차트: st.line_chart(), st.bar_chart() 등으로 간단한 차트를 바로 그릴 수 있습니다.
    
    Plotly 연동: Plotly로 생성한 fig 객체를 st.plotly_chart(fig)를 통해 대화형으로 웹에 표시할 수 있습니다.
    
    사용자 입력: st.slider(), st.file_uploader(), st.sidebar.multiselect() 등을 통해 사용자와 상호작용하는 위젯을 제공합니다.
    
    활용 (대시보드 예시):
    
    st.file_uploader: CSV 파일을 업로드하여 데이터를 동적으로 읽습니다.
    
    st.sidebar: 필터링 옵션(multiselect)을 제공하여 데이터 시각화 범위를 조절할 수 있게 합니다.
    
    필터링된 데이터(filterData)를 기반으로 시간별 추이(px.line), 국가별 비율(px.pie), 공격 유형별 상태(px.bar) 등의 대화형 대시보드를 구축합니다.
                        
노트북 전체보기
전체화면 코드