파이썬 빅데이터 분석 Day 9

2023. 10. 26. 15:45·데이터분석실습/데이터 과학 기반의 파이썬 빅데이터 분석

9. 데이터 분석하기지리정보 분석(22.07.18)

[주소 데이터 분석 + 지오맵]

목표:특정 주소에 대한 지리정보를 분석 -> 시각화 맵 생성

1.데이터 수집

주소데이터: 맵에 위치를 표시할 주소 데이터

행정구역 주소 체계 데이터: 국가통계포털에서 다운로드한 데이터로 주소데이터의 행정규역이름을 정제 -> 정확한 GPS좌표 획득

이전에 실습한 CoffeeBean.csv파일을 사용.

  1. 국가통계포털 사이트에서 '행정구역'을 검색
  2. '주민등록인구현황:행정구역9시군구)별, 성별 인구수' 선택

3.[행정구역(시군구)별] 탭을 클릭, [2 레벨 전체선택]을 체크후 선택

  1. [시점]탭을 클릭, 2020.01을 선택한뒤 <통계표조회> 선택</통계표조회>
  2. 파일을 액셀형태로 다운로드
  • > 데이터를 받은 후 액셀 내에서 정제를 거친뒤 생성한 파일을 아래 첨부했다.
  • >이번 실습에서는 이 데이터의 행정주소명을 확인하기만하고 데이터 자체를 사용하지는 않을 것이다.

행정구역_시군구_성별_인구수.xlsx
0.02MB

2.데이터 준비

데이터를 전처리 하기전 다양한 패키지들을 import 한다.

import pandas as pd
CB=pd.read_csv('data/CoffeeBean.csv',encoding='CP949',index_col=0,header=0,engine='python')
CB.head()

[02행]: CoffeeBean파일을 읽어온다.

addr=[]
for address in CB.address:
	addr.append(str(address).split())
addr2=[]

for i in range(len(addr)):
	if addr[i][0]=='서울':addr[i][0]='서울특별시'
	elif addr[i][0]=='서울시':addr[i][0]='서울특별시'
	elif addr[i][0]=='부산시':addr[i][0]='부산광역시'
	elif addr[i][0]=='인천':addr[i][0]='인천광역시'
	elif addr[i][0]=='광주':addr[i][0]='광주광역시'
	elif addr[i][0]=='대전시':addr[i][0]='대전광역시'
	elif addr[i][0]=='울산시':addr[i][0]='울산광역시'
	elif addr[i][0]=='세종시':addr[i][0]='세종특별자치시'
	elif addr[i][0]=='경기':addr[i][0]='경기도'
	elif addr[i][0]=='충북':addr[i][0]='충청북도'
	elif addr[i][0]=='충남':addr[i][0]='충청남도'
	elif addr[i][0]=='전북':addr[i][0]='전라북도'
	elif addr[i][0]=='전남':addr[i][0]='전라남도'
	elif addr[i][0]=='경북':addr[i][0]='경상북도'
	elif addr[i][0]=='경남':addr[i][0]='경상남도'
	elif addr[i][0]=='제주':addr[i][0]='제주특별자치도'
	elif addr[i][0]=='제주도':addr[i][0]='제주특별자치도'
	elif addr[i][0]=='제주시':addr[i][0]='제주특별자치도'

	addr2.append(' '.join(addr[i]))
addr2

[01,02행]: 커피빈데이터의 주소를 저장해둔다.

[04~23행]: 저장되어 있는 주소 행정구역에 맞게 정확한 이름으로 바꾼다.

message=''
for item in data:
	if 'message' in item.keys():
		message=message+re.sub(r'[^\w]',' ',item['message'])+''
message

[02~04행]: data의 keys() 뉴스 본문내용에서 re.sub()을 통해서 문자나 숫자가 아닌 갓은 공백으로 치환하여 제거하고 하나의 문자열로 구성

3.분석 모델 구축 및 시각화

folium을 통해서 지도객체를 만들고 커피 매장의 위치를 마커로 표시할 것인데, 커피매장 주소의 위경도 좌표가 필요하므로, 오픈소프트웨이어인 Geocoder-Xr을 사용히거나 구글맵을 통해서 구할 수 있다. 이번 실습에서는 따로 제공된 파일을 통해서 사용하도록 하겠다. 파일또한 첨부하였다.

CB_geo.shp_2.csv
0.04MB

import folium
CB_geoData=pd.read_csv('data/CB_geo.shp_2.csv',encoding='cp949',engine='python')
map_CB=folium.Map(location=[37.560284,126.975334],zoom_start=15)
for i,store in CB_geoData.iterrows():
	folium.Marker(location=[store['위도'],store['경도']],popup=store['store'],icon=folium.Icon(color='red',icon='star')).add_to(map_CB)
map_CB.save('data/map_CB.html')

import webbrowser
webbrowser.open('C:/Users/matth/0716/data/map_CB.html')

[01행]:지리 정보 시각화 라이브러리인 folium을 로드

[02행]: CB_geodata에 데이터를 커피빈 매장의 경위도가 저장된 데이터를 로드

[03행]: 지도객체인 map_CB를 생성

[04,05행]: 반복문을 통해 CB_geodata 객체에 있는 매장정보를 읽어가면서 지오맵을 생성

이러한 생성된 지오맵은 움직일 수 있으며 마커를 클릭하면 매장 이름이 팝업으로 뜬다.

728x90

'데이터분석실습 > 데이터 과학 기반의 파이썬 빅데이터 분석' 카테고리의 다른 글

파이썬 빅데이터 분석 Day 11  (0) 2023.10.26
파이썬 빅데이터 분석 Day 10  (1) 2023.10.26
파이썬 빅데이터 분석 Day 8  (0) 2023.10.26
파이썬 빅데이터 분석 Day 7  (1) 2023.10.26
파이썬 빅데이터 분석 Day 6  (0) 2023.10.26
'데이터분석실습/데이터 과학 기반의 파이썬 빅데이터 분석' 카테고리의 다른 글
  • 파이썬 빅데이터 분석 Day 11
  • 파이썬 빅데이터 분석 Day 10
  • 파이썬 빅데이터 분석 Day 8
  • 파이썬 빅데이터 분석 Day 7
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    이것이취업을위한코딩테스트다
    파이썬
    DFS
    이분탐색
    BFS
    백준
    그리디
    dp
    나동빈
    이코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바