더북(TheBook)

이제 결과를 꺾은선 그래프로 그려주면 이렇게 표현됩니다.

df.loc[i].T.plot()   # 4 │ ➍ 결과를 꺾은선 그래프로 보여준다.
plt.show()

지금까지 내용을 정리하면 다음과 같습니다.

# 4 │ ➊ 궁금한 지역 A의 인구 비율에서 B의 인구 비율을 뺀다.
x = df.sub(df2.iloc[0], axis=1)
# 4 │ ➋. A의 인구 비율에서 B의 인구 비율을 뺀 값의 제곱값을 모두 더한다.
y = np.power(x, 2)
z = y.sum(axis=1)
i = z.sort_values().index[:5]     # 4 │ ➌ 그 차이가 가장 작은 지역 5곳을 찾는다.
df.loc[i].T.plot()                # 4 │ ➍ 결과를 꺾은선 그래프로 보여준다.

이처럼 4 | 과정에 해당하는 코드를 이해하기 쉽게 다섯 줄로 작성하였지만, 다음과 같이 한 줄로 줄일 수도 있습니다.

# 4 │ 궁금한 지역의 인구 구조와 가장 비슷한 인구 구조를 가진 지역 찾기
df.loc[np.power(df.sub(df2.iloc[0], axis=1), 2).sum(axis=1).sort_values().index[:5]].T.plot()

그리고 이를 전체 코드로 나타내면 다음과 같습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.