이번 주제는 US Election 2020 데이터셋을 사용한다.
kaggle 링크도 함께 참고하자
https://www.kaggle.com/datasets/unanimad/us-election-2020
실제 kaggle에서는 11개의 파일을 제공하는데
강의에서는 이 중 정보가 가장 많은 2개의 파일을 사용한다.
- president_county_candidate.csv: 대통령 투표 결과
- governors_county_candidate.csv: 카운티 지사 투표 결과
추가로 보조 데이터도 함께 제공되는데 이 중 1개의 보조 데이터를 참고한다
- acs2017_county_data.csv: 카운티별 인구조사 데이터
보조데이터 링크: https://www.kaggle.com/datasets/muonneutrino/us-census-demographic-data
데이터셋 준비하기
시작에 앞서 이번 데이터에서는 사전에 설치해야되는 패키지들이 추가로 있다.
강의 시점의 버전과 해당 패키지들에 대해 알아보고 이어가도록 하자
!pip install geopandas==0.8.1
!pip install pyshp==2.1.2
!pip install shapely==1.7.1
!pip install plotly-geo==1.0.0
- geopandas: 공간 데이터 처리 라이브러리로 pandas와 shapely를 기반으로 하여 지리공간데이터 처리를 지원하는 패키지이다. 해당 패키지를 통해 공간 데이터와 일반 데이터를 통합하고 공간 연산을 수행하며 지리 정보 시각화 및 분석 수행이 가능해진다. 대표적인 작업 예시들로는 아래와 같은 예시들이 있다.
- 지리 데이터 크기와 형태를 파악하고 지리 데이터의 시각화
- 지리 데이터의 속성 데이터와 결합하여 지리 데이터 분석
- 지리 데이터의 공간 연산을 통한 지리 분석 수행
- pyshp: pyshp(Shapefile)는 파이썬으로 ESRI Shapefile 형식의 공간 데이터를 읽고 쓰는 라이브러리이다. Shapefile에 대해서는 생소한 편인데 지리적 위치, 면적, 높이, 경계선 및 위치 등의 지리 정보를 포함하는 데이터이다.
- ESRI Shapefile 형식의 파일 불러오기 및 쓰기
- Point, Polyline, Polygon, MultiPoint 등의 기하학 객체 생성 ( -> Polygon 데이터는 한번 접해보았는데, 정해진 기준 내에서만 활용한 편이었다)
- 공간 데이터에서 다양한 연산 수행 가능
- shapely: 파이썬 기반의 지오메트리 처리 라이브러리. 지리 정보 시스템(GIS)에서 공간 데이터 처리에 사용된다. Shapely는 크게 2가지 유형의 객체를 다룰 수 있는데, 첫 번째는 Point, LineString, Ploygon과 같은 2D 지오메트리 객체이고, 두 번째는 MultiPoint, MultiLineSting, MultiPolygon과 같은 다중 객체이다. 해당 객체들은 좌표 데이터를 기반으로 생성 가능하며, 조작 및 분석도 가능하다. 지오메트리 객체와 관련해서도 적었지만 접했던 적이 있었는데, 주로 객체 간의 거리 계산에서 활용했었다.
- plotly-geo: (제대로 이해는 못했지만 구글링 결과를 참고해보면) 인터랙티브한 시각화를 지원하는 라이브러리이다. Plotly에서 지리 정보 시각화를 위해 지원하는 패키지로, 다양한 지도 데이터 및 기능을 제공한다. 또 다양한 지도 타일 제공을 통해 사용자가 직접 지도 데이터를 추가하는 것도 가능하다. 검색해보면 예시 코드와 함께 시각화 결과도 나오는데, 아래 시각화도 그 중 하나이다.
해당 패키지를 설치한 뒤 주로 사용할 데이터셋까지 불러오면 준비는 완료된다.
# from US Election 2020
df_pres = pd.read_csv('president_county_candidate.csv')
df_gov = pd.read_csv('governors_county_candidate.csv')
# from US Census 2017
df_census = pd.read_csv('acs2017_census_tract_data.csv')
# State Code 관련 부가 자료
state_code = pd.read_html('https://www.infoplease.com/us/postal-information/state-abbreviations-and-state-postal-codes')[0]
마지막 State Code 관련 부가 자료는
데이터셋 중 state 코드에 대해 일관적으로 통일되지 않았을 때 부가 데이터로 활용하기 위한 정보로 해당 url에 접속하면 아래와 같은 state별 code 관리 정보가 들어있다.
이제 본격적인 EDA로 들어가보자
http://bit.ly/3Y34pE0
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Analytics > Study' 카테고리의 다른 글
실전#5 미국의 대통령은 어떻게 뽑힐까(3) (0) | 2023.03.17 |
---|---|
실전#5 미국의 대통령은 어떻게 뽑힐까(2) (0) | 2023.03.16 |
실전#4 오늘 밤 유럽 축구, 어디가 이길까(7) (0) | 2023.03.14 |
실전#4 오늘 밤 유럽 축구, 어디가 이길까(6) (0) | 2023.03.13 |
실전#4 오늘 밤 유럽 축구, 어디가 이길까(5) (0) | 2023.03.12 |