10.11 복습 ( Streamlit : folium.Map ~ Power BI)

정희철·2024년 10월 12일

folium.Map

  • Folium은 Leaflet.js를 기반으로 한 지도 시각화 라이브러리
  • folium.Map은 Python 라이브러리인 Folium에서 제공하는 클래스로
    지도 생성/마커, 값 추가/HTML 출력 등과 같은 기능을 제공
map_data = pd.DataFrame({
‘lat': [-34, 49, -38, 59.93, 5.33, 45.52, -1.29, -12.97],
‘lon': [-58, 2, 145, 30.32, -4.03, -73.57, 36.82, -38.5],
'name': ['Buenos Aires', 'Paris', 'Melbourne', 'St Petersburg', 'Abidjan', 'Montreal', 'Nairobi', 'Salvador'],
'value': [10, 12, 40, 70, 23, 43, 100, 43] })

# folium.Map(): Folium에서 지도 객체를 생성
# location: 지도가 초기에 어떤 위치에서 시작할지를 정의
# map_data['lat'].mean()과 map_data['lon'].mean(): 평균 위도와 경도 위치를 지도 중심으로 설정
# zoom_start: 이 매개변수는 지도의 초기 확대 수준 (default=10, 숫자가 클수록 확대)
my_map = folium.Map( 
location=[map_data['lat'].mean(), map_data['lon'].mean()], 
zoom_start=2 )

# 데이터프레임 한 행 씩 index, row에 담아서 처리
for index, row in map_data.iterrows(): 
	folium.CircleMarker( # 원 표시 선언
 		location=[row['lat'], row['lon']], # 원 중심- 위도, 경도
 		radius=row['value'] / 5,           # 원의 반지름
 		color='pink',                      # 원의 테두리 색상
 		fill=True,                         # 원을 채움
 		fill_opacity=1.0                   # 원의 내부를 채울 때의 투명도
 	).add_to(my_map)                       # my_map에 원형 마커 추가
    folium.Marker( # 값 표시 선언
		location=[row['lat'], row['lon']], # 값 표시 위치- 위도, 경도
 		icon=folium.DivIcon(html=f"<div>{row['name']} 		{row['value']}</div>"),                    # row['name'], row['value'] 표시
 ).add_to(my_map) # my_map에 값 추가

 # 타이틀과 캡션 표시하기
st.title('Map with Location Data')
st.caption(‘Displaying geographical data on a map using Streamlit and Folium’)

# 지도 그리기
# st.components.v1.html : Streamlit 라이브러리의 components 모듈에서 html 함수 사용
# ._repr_html_() : 지도를 HTML 형식으로 표시
st.components.v1.html(my_map._repr_html_(), width=800, height=600)

Power BI

  • 최신 정보를 통해 신속한 의사결정을 할 수 있도록 인사이트를 제공하는 비즈니스 분석 서비스

데이터변환: 파워 쿼리 편집기

  • 불필요한 데이터 제거 : 분석에 필요하지 않은 행, 열 데이터 제거
  • 데이터 변환 : 첫 번째 행 값을 칼럼(열)이름으로 변환, 열 피벗 해제
  • 데이터 형식 변경 : 날짜, 숫자형식

관계

  • 여러 테이블 추가 시, 서로 관계가 있는 경우 자동으로 생성
  • 자동으로 만들어 주는 경우
    - 두 칼럼의 이름이 같고
    • 두 칼럼의 데이터 형식이 같고
    • 참조 받는 쪽 칼럼의 값이 Unique

상호작용 편집

  • 시각화 개체 간의 상호작용 통제하기
  • 용도 : 차트 간의 상호 필터 및 강조 적용 방법 통제하기
  • 서식 > 상호작용 편집

Table & Matrix

  • 용도 : 표 형태로 데이터 집계
  • Table
    - 제일 왼쪽 열의 값을 기준으로, 나머지 열의 값 집계
    • 필요한 필드를 추가하고, sum, avg, max 등으로 집계
  • Matrix
    - 행, 열의 값을 기준으로 값을 집계
    • 행, 열, 값에 각각 필드 추가

데이터 변환 : 데이터 원본 설정

  • 원본 데이터 위치 또는 이름 변경 시 연결 설정
  • 같은 형식의 새로운 데이터를 활용한 보고서 재사용 가능
  • 홈 > 데이터 변환 > 데이터 원본 설정

보고서 작성을 위한 프로세스

차원(Dimension)과 팩트

  • 차원(Dimension)
    - Master Data
    • 관점
    • 조회 조건
    • ex. 고객, 상품카테고리, 조직, 계정 구조 등
  • 팩트
    - Transaction Data
    • ex. 매출데이터, 생산데이터 등

DAX 함수

  • DAX 함수는 power BI에서 사용되는 수식 언어
    - DAX란 수식 또는 식에서 하나 이상의 값을 계산하고 반환하는 데
    사용할 수 있는 함수, 연산자 및 상수 컬렉션
  • DAX를 이용하는 유형
    - 새 열(계산 열)
    - 새 측정값(계산 측정값)
  • DAX 테이블 및 열 이름 구문
    - 공백이 있는 경우('한글'필수) : 'Table Name'[ColumnName]
    • 공백 없는 경우 : TableName[ColumnName]
  • DAX 구문은 DAX연산자와 DAX함수로 구성
  • DAX를 이용하는 두 가지 유형 : 새 열 / 새 측정값

업로드중..

계층구조

  • 테이블 내에서 계층구조 만들기
    - 한번 만들고 다양한 시각화 개체에 일관성 있게 재 사용
    - 테이블 내의 칼럼으로 구성
  • 시각화 개체에, 여러 테이블의 값을 가져와 만들기
    - 여러 테이블에서 칼럼을 결합하여 만들 수 있음
    - 시각화 개체 생성할 때마다 만들어줘야 함

0개의 댓글