이제 결과를 꺾은선 그래프로 그려주면 이렇게 표현됩니다.
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()
그리고 이를 전체 코드로 나타내면 다음과 같습니다.