ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [데이터 시각화] 히트맵 및 swarmplot
    데이터 분석 2021. 9. 12. 22:40

    앞서 concat으로 병합한 데이터셋 df를 활용하여 데이터 시각화를 하자. 

    pivot_table 사용하기

    # 연도를 인덱스로, 지역명을 컬럼으로 평당분양가격을 피봇테이블로 그리기.
    # pivot은 연산 없이 데이터 형태만 바꾸는 것
    # pivot_table은 연산 가능
    
    t = pd.pivot_table(df, index="연도", columns="지역명", values="평당분양가격").round()
    t

     

    히트맵으로 구현하기

    # 위에서 그린 피봇테이블을 히트맵으로 표현하기.
    
    plt.figure(figsize=(15, 7))
    sns.heatmap(t, cmap="Blues", annot=True, fmt='.0f')

     

    plt.figure(figsize=(15, 7))
    sns.heatmap(t.T, cmap="Blues", annot=True, fmt='.0f')

     

    # Groupby를 사용하기. 인덱스에 ["연도", "지역명"] 을 넣는다.
    
    g = df.groupby(["연도", "지역명"])["평당분양가격"].mean().unstack().round()
    g

     

    plt.figure(figsize=(15, 7))
    sns.heatmap(g.T, annot=True, fmt=".0f", cmap="Greens")

     

    연도별 평당분양가격 데이터 시각화

    # 연도별 평당분양가격 swarmplot 그리기
    
    plt.figure(figsize=(12, 5))
    sns.swarmplot(data=df, x="연도", y="평당분양가격", hue="지역명")
    # 레전드를 밖에 위치 시키기
    plt.legend(bbox_to_anchor=(1.02, 1), loc=2, borderaxespad=0.)

     

    plt.figure(figsize=(12, 5))
    sns.violinplot(data=df, x="연도", y="평당분양가격")
    sns.swarmplot(data=df, x="연도", y="평당분양가격", hue="지역명")
    # 레전드를 밖에 위치 시키기
    plt.legend(bbox_to_anchor=(1.02, 1), loc=2, borderaxespad=0.)

    댓글