실습 내용
1. 파이썬 지도 시각화 패키지인 folium을 사용하여 코로나 데이터 분석 및 시각화
2. plugins와 HeatMap 을 이용하기.
코로나 분석전 지도 시각화 사용해보기.
- #파이썬 지도 시각화 패키지 임포트
import folium
- #map()함수를 사용하여 지도 불러오기
- #location=[37.55, 126.98] 위도와 경도
- #zoom_start=12 (12번 확대하여 표시)
seoul = folium.Map(location=[37.55, 126.98], zoom_start=8)
seoul

지도 시각화에 사용할 데이터 분석
- #지도상에 코로나 확진자에 대한 정보를 나타내기 위해 필요한 case데이터의 상위 5개만 출력해본다.
- #여기서 group열의 그룹핑을 시작으로 데이터를 분석해 나갈 예정
- #True = 지역 내 집단감염
- #False = 외부요인에 의한 집단감염
case.head()
- #pivot_table()은 그룹핑하고 싶은 열에 있는 값을 기준으로 지정한 연산을 적용시켜 그룹화한다.
- #pivot_table(index=['그룹핑하고 싶은 열의 이름'], aggfunc=그룹핑에 적용할 연산)
case.pivot_table(index=['group'], aggfunc='sum')
- #True값만 추출해본다.
- #124개의 데이터가 출력되고, latitude(위도),longirude(경도)값에 -값, 즉 알 수 없는값이 존재함을 확인.(결측값이 아님)
local_infected = case[case['group']==True]
local_infected #변수로 저장하여 출력
- #latitud값에 -가 아닌 것만 출력
local_infected = local_infected[local_infected['latitude']!='-']
local_infected
▷latitud와 longitude 중 한개만 -값을 빼주면 되는데, 혹시 모르니 longitude값도 한번 더 진행해준다.
#비어있는 값 체크
local_infected.isnull().sum()

지도위에 히트맵으로 코로나 데이터 시각화
#지도에 무언가를 띄울때 plugins를 사용한다.
from folium import plugins
latitude, longitude = 35.9078, 127.7669 # 대한민국의 좌표
S_korea = folium.Map(location = [latitude, longitude], zoom_start = 8)
S_korea
#add_child -> 지도에 어떤 요소(히트맵)를 추가하겠다.
#zip -> 데이터를 묶어서 표시 (위도,경도,확진자 수)
#radius -> 히트맵으로 표시되는 원의 크기
S_korea.add_child(plugins.HeatMap(zip(local_infected['latitude'],
local_infected['longitude'],
local_infected['confirmed']), radius =18))
★ 오류 발생 및 해결 ★
RecursionError: maximum recursion depth exceeded 에러 내용을 구글링한 결과, 데이터 타입 오류로 확인
#info()로 확인
#변수가 Object타입이었던 것이 문제
local_infected.info()
#문자열로 입력되어 있는 값을 숫자(Float)타입으로 변환한 후 다시 실행
#astype -> 데이터 타입을 바꿔주는 함수
local_infected['latitude'] = local_infected['latitude'].astype('float')
local_infected['longitude'] = local_infected['longitude'].astype('float')
● 완성
'sparta coding club > 데이터분석' 카테고리의 다른 글
[데이터분석] (과제) 붓꽃 데이터를 활용한 시각화 진행하기 (0) | 2022.05.16 |
---|---|
[데이터분석] 코로나 데이터 분석(1) _ 분석 준비, 차트 그리기 (0) | 2022.05.10 |
[데이터분석] 주류 데이터 분석 마무리 / 파이 차트(pie chart), 바 차트(bar chart) (2) | 2022.05.09 |
[데이터분석] 상관관계 분석(1) _ pearson과 heatmap / pairplot (0) | 2022.05.08 |
[데이터분석] 원하는 데이터 찾기, 로직과 수치 정보의 결합 / 정렬하기 (0) | 2022.05.08 |