-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
안녕하세요 강사님 chapter[9/20] boxplot 관련해서 질문 드립니다.
22.02.23 03:21 작성 조회수 155
1
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import re
import seaborn as sns
plt.rc('font',family='Malgun Gothic')
df1=pd.read_csv("전국 평균 분양가격(2013년 9월부터 2015년 8월까지).csv",header=0,index_col=0,
encoding='cp949')
df2=pd.read_csv("주택도시보증공사_전국 평균 분양가격(2019년 12월).csv",header=0,index_col=0,
encoding='cp949')
df2["분양가격(㎡)"]=pd.to_numeric(df2["분양가격(㎡)"],errors="coerce")
df2["분양가/평"]=(df2["분양가격(㎡)"]*3.3)
df2["전용면적"]=df2["규모구분"].str.replace("전용면적","")
df2["전용면적"]=df2["전용면적"].str.replace("초과","~")
df2["전용면적"]=df2["전용면적"].str.replace("이하","")
df2["전용면적"]=df2["전용면적"].str.strip()
df2["지역명"]=df2.index
df2.drop("규모구분",axis=1,inplace=True)
df2=df2.reset_index(drop=True)
fig,ax=plt.subplots(1,1,figsize=(15,15))
pdf=pd.pivot_table(df2,values="분양가/평",index="월",columns="연도")
pdf2=pd.pivot_table(df2,values="분양가/평",columns="연도").T
pdf.plot.box(ax=ax)
여기까지는 잘 작동이 되는데요...
이 박스플롯에, 전체 평균을 오버랩 시켜서 그려보려고 했어요.
fig,ax=plt.subplots(1,1,figsize=(15,15))
pdf=pd.pivot_table(df2,values="분양가/평",index="월",columns="연도")
pdf2=pd.pivot_table(df2,values="분양가/평",columns="연도").T
pdf.plot.box(ax=ax)
pdf2.plot(ax=ax)
월로 세분화 되지 않은 , 연도별 총합 평균으로 구성한 dataframe을 ax에 그렸는데 안되더라구요.
twinx 메소드로도 되지 않아요.
이런식으로 모든 연도가 가장 왼쪽에 박혀버립니다..
문제가 무엇일까요
답변을 작성해보세요.
0
박조은
지식공유자2022.02.23
안녕하세요.
T로 전치해주었다면 index 값이 "연도"가 아니겠네요.
인덱스 값이 같아야지 "연도"별로 값을 표시해 줄 수있습니다.
또, 선 그래프로 그렸을 때 잘 안 보인다면 일단 kind="bar" 혹은 .bar()를 통해 막대그래프로 그려보세요!
답변 1