본문 바로가기

Analytics/Study

실전#5 미국의 대통령은 어떻게 뽑힐까(1)

이번 주제는 US Election 2020 데이터셋을 사용한다.
 
kaggle 링크도 함께 참고하자
https://www.kaggle.com/datasets/unanimad/us-election-2020

 

US Election 2020

Race to Presidential Election 2020 by County

www.kaggle.com

 
실제 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

 

US Census Demographic Data

Demographic and Economic Data for Tracts and Counties

www.kaggle.com

 

데이터셋 준비하기

시작에 앞서 이번 데이터에서는 사전에 설치해야되는 패키지들이 추가로 있다.
강의 시점의 버전과 해당 패키지들에 대해 알아보고 이어가도록 하자

!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

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.