이번에는 연도를 나타내는 열이름 리스트를 쉽게 만드는 방법을 먼저 해보겠습니다. 리스트에 들어 있는 개별 원소를 어떤 함수에 하나씩 매핑(mappint)하여 적용하는 map( ) 함수, 숫자형 데이터를 문자열로 변환하는 str( )함수, 어떤 배열 객체를 리스트(list)로 변환하는 list( )함수를 사용합니다.
# map 함수를 이용하여 2010 ~ 2017까지 숫자를 string으로 변환하고 list에 저장한다. years 변수에는 ["2010", "2011", "2012", ... , "2017"]과 같이 리스트가 저장된다.
years = list(map(str, range(2010, 2018)))
이럿게 단든 years 리스트를 가지고, 2010년부터 2017년까지 호남권(광주광역시, 전라남도, 전라북도)에서 서울로 전입한 인구 이동 데이터만 따로 추출해보겠습니다. df_seoul[years] 형식으로 해당 연도의 열(column)을 모두 선택하고, loc 메소드를 사용하여 인덱스값 리스트 ["전라남도", "광주광역시", "전라북도"]에 해당하는 행(row) 값만을 따로 선택합니다.
# 호남권역 -> 서울특별시 전입 인구수만 따로 정리한다
df_honam = df_seoul[years].loc[["전라남도", "광주광역시", "전라북도"]]
이 데이터를 matplotlib 라이브러리를 사용하여 Arear Plot 그래프를 그려 봅니다. 지역 이름을 X축으로 만들어 주기 위해서는 행과 열을 바꿔주는 처리를 먼저 해야 합니다. 행렬의 전치(transpose)라고 부르는데, T 또는 transpose( ) 메소드를 사용합니다.
# matplotlib 라이브터리의 pyplot 메소드를 plt라는 네임스페이스로 불러온다
import matplotlib.pyplot as plt
# T 메소드를 사용하여 전치행렬을 만든다
tdf_honam = df_honam.T
이처럼 전치를 하는 이유는 matplotlib에서는 pandas dataframe의 index값을 X축 값으로 처리하기 때문입니다. df_honam과 tdf_honam을 plot( ) 함수를 이용하여 Area Plot을 그려서, 전치하기 전과 후의 결과를 비교해 봅니다. 이때 plot( ) 함수 인자로 그래프 종류를 나타내는 kind 옵션에 "area"를 지정합니다.
# 전치하기 전의 그래프 그리기: df_honam
df_honam.plot(kind="area")