Data Visualization

Data Visualization - US Corona 분석하기 Part1

electronicprogrammer 2020. 10. 7. 01:23

데이터 출처 : www.kaggle.com/fireballbyedimyrnmom/us-counties-covid-19-dataset

 

US counties COVID 19 dataset

NYT's github CSV on COVID19 per US counties

www.kaggle.com

ipynb file : github.com/sangHa0411/DataScience/blob/main/US%20Corona%20Cases.ipynb

 

sangHa0411/DataScience

Contribute to sangHa0411/DataScience development by creating an account on GitHub.

github.com

 

이번 포스팅을 통해서 US 각 주의 코로나 바이러스 확진자 수에 대해서 데이터 분석 및 시각화를 해보겠습니다.

Part1에서는 코로나 확진자 수의 그래프를 그려보고 US Basemap 지도에 각 주를 표기하는 방법을 정리해보겠습니다.

Part2에서는 matplotlib에서의 animation 기능을 이용 및 정리하면서 US Basemap 지도에 각 주에 따른 확진자 수를 그래프를 그려보겠습니다.

 

먼저 Pandas를 이용해서 데이터를 불러오겠습니다.

데이터 속성들을 살펴보면 날짜 , 지역구 , 주 , 등을 비롯해서 확진자 수와 사망자 수가 있는 것을 확인할 수 있습니다.

여기서 먼저 각 날짜별로 US 전체의 확진자 수를 파악하기 위해서 Dictionary 자료구조를 이용합니다.

key 는 Date, Value 는 확진자수의 총 합이 됩니다.

모든 날짜를 Xlabel에 표기하면 텍스트가 겹쳐서 지저분 해보이므로 각 달의 1일 만을 표기하도록 새롭게 index 리스트를 만듭니다.

위는 US Corona 확진자 수를 그래프로 그린 결과입니다. 감소하는 추세 없이 계속 증가하는 것을 확인할 수 있고 2020-07 이후로 그 증가하는 기울기가 더 커진 것을 확인할 수 있습니다.

US 각 주에 따른 코로나 데이터를 분석하기 앞서서 각 주에 따른 위도와 경도 데이터를 불러옵니다.

데이터 출처 : www.kaggle.com/washimahmed/usa-latlong-for-state-abbreviations

 

USA lat,long for state abbreviations

USA state latitude and longitude

www.kaggle.com

이제 US의 각 주들에 대한 위치를 파악하였으니 이를 Basemap에 표기해보고자 합니다.

먼저 US의 Basemap에 보기 좋게 하기 위해서 데이터 중에서 알래스카와 하와이 주는 제외합니다.

 

이제 각 주들의 위도 및 경도 정보와 이름 정보를 따로 저장합니다.

 

그 다음 Basemap 라이브러리를 불러옵니다.

 

이를 이용해서 US 의 전체 지도를 그려보겠습니다.

먼저 US 의 위도와 경도 정보를 기입함으로써 Basemap을 만들었습니다.

그 다음에는 st99_d00 파일을 이용해서 각 주의 경계를 그립니다.

st99_d00 file : github.com/matplotlib/basemap/blob/master/examples/st99_d00.shp

 

matplotlib/basemap

Contribute to matplotlib/basemap development by creating an account on GitHub.

github.com

그 다음 앞에서 구한 위도 및 경도 정보와 US Basemap을 이용해서 새롭게 X , Y 좌표를 얻고 지도에 표기합니다.

Part1은 여기서 마치도록 하겠습니다.

Part2에서 위 Basemap에 각 주에 확진자수에 따라서 빨강색 원을 그리는 matplotlib의 animation을 만들어보도록 하겠습니다.