인공지능 공부/공공데이터 분석
(공공데이터분석) 전국 신규 민간 아파트 분양가 분석해보기(1)
앨런튜링_
2021. 6. 12. 14:43
mport pandas as pd
df_last = pd.read_csv('주택도시보증공사_전국 평균 분양가격(2019년 12월).csv', encoding='cp949')
df_last.shape
(4335, 5)
df_last.head()
지역명 규모구분 연도 월 분양가격(㎡)
0 서울 전체 2015 10 5841
1 서울 전용면적 60㎡이하 2015 10 5652
2 서울 전용면적 60㎡초과 85㎡이하 2015 10 5882
3 서울 전용면적 85㎡초과 102㎡이하 2015 10 5721
4 서울 전용면적 102㎡초과 2015 10 5879
df_last.tail()
지역명 규모구분 연도 월 분양가격(㎡)
4330 제주 전체 2019 12 3882
4331 제주 전용면적 60㎡이하 2019 12 NaN
4332 제주 전용면적 60㎡초과 85㎡이하 2019 12 3898
4333 제주 전용면적 85㎡초과 102㎡이하 2019 12 NaN
4334 제주 전용면적 102㎡초과 2019 12 3601
# 해당되는 폴더의 경로 파일의 목록 출력
%ls
C 드라이브의 볼륨: SYSTEM
볼륨 일련 번호: 924C-45D1
C:\Users\SM2130\공공데이터분석 디렉터리
2021-06-11 오후 02:01 <DIR> .
2021-06-11 오후 02:01 <DIR> ..
2021-06-11 오후 01:51 <DIR> .ipynb_checkpoints
2021-06-11 오후 01:45 <DIR> data
2021-06-11 오후 02:01 9,115 Untitled.ipynb
2021-06-11 오후 01:47 2,163 전국 평균 분양가격(2013년 9월부터 2015년 8월까지).csv
2021-06-11 오후 01:47 162,510 주택도시보증공사_전국 평균 분양가격(2019년 12월).csv
3개 파일 173,788 바이트
4개 디렉터리 410,286,723,072 바이트 남음
df_first = pd.read_csv("전국 평균 분양가격(2013년 9월부터 2015년 8월까지).csv", encoding="cp949")
df_first.shape
(17, 22)
df_first.head()
지역 2013년12월 2014년1월 2014년2월 2014년3월 2014년4월 2014년5월 2014년6월 2014년7월 2014년8월 ... 2014년11월 2014년12월 2015년1월 2015년2월 2015년3월 2015년4월 2015년5월 2015년6월 2015년7월 2015년8월
0 서울 18189 17925 17925 18016 18098 19446 18867 18742 19274 ... 20242 20269 20670 20670 19415 18842 18367 18374 18152 18443
1 부산 8111 8111 9078 8965 9402 9501 9453 9457 9411 ... 9208 9208 9204 9235 9279 9327 9345 9515 9559 9581
2 대구 8080 8080 8077 8101 8267 8274 8360 8360 8370 ... 8439 8253 8327 8416 8441 8446 8568 8542 8542 8795
3 인천 10204 10204 10408 10408 10000 9844 10058 9974 9973 ... 10020 10020 10017 9876 9876 9938 10551 10443 10443 10449
4 광주 6098 7326 7611 7346 7346 7523 7659 7612 7622 ... 7752 7748 7752 7756 7861 7914 7877 7881 8089 8231
5 rows × 22 columns
df_first.tail()
지역 2013년12월 2014년1월 2014년2월 2014년3월 2014년4월 2014년5월 2014년6월 2014년7월 2014년8월 ... 2014년11월 2014년12월 2015년1월 2015년2월 2015년3월 2015년4월 2015년5월 2015년6월 2015년7월 2015년8월
12 전북 6282 6281 5946 5966 6277 6306 6351 6319 6436 ... 6583 6583 6583 6583 6542 6551 6556 6601 6750 6580
13 전남 5678 5678 5678 5696 5736 5656 5609 5780 5685 ... 5768 5784 5784 5833 5825 5940 6050 6243 6286 6289
14 경북 6168 6168 6234 6317 6412 6409 6554 6556 6563 ... 6881 6989 6992 6953 6997 7006 6966 6887 7035 7037
15 경남 6473 6485 6502 6610 6599 6610 6615 6613 6606 ... 7125 7332 7592 7588 7668 7683 7717 7715 7723 7665
16 제주 7674 7900 7900 7900 7900 7900 7914 7914 7914 ... 7724 7739 7739 7739 7826 7285 7285 7343 7343 7343
5 rows × 22 columns
df_last.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4335 entries, 0 to 4334
Data columns (total 5 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 지역명 4335 non-null object
1 규모구분 4335 non-null object
2 연도 4335 non-null int64
3 월 4335 non-null int64
4 분양가격(㎡) 4058 non-null object
dtypes: int64(2), object(3)
memory usage: 169.5+ KB
df_last.isnull()
지역명 규모구분 연도 월 분양가격(㎡)
0 False False False False False
1 False False False False False
2 False False False False False
3 False False False False False
4 False False False False False
... ... ... ... ... ...
4330 False False False False False
4331 False False False False True
4332 False False False False False
4333 False False False False True
4334 False False False False False
4335 rows × 5 columns
df_last.isnull().sum()
지역명 0
규모구분 0
연도 0
월 0
분양가격(㎡) 277
dtype: int64
df_last.isna().sum()
지역명 0
규모구분 0
연도 0
월 0
분양가격(㎡) 277
dtype: int64
df_last['분양가격(㎡)'] ##수치데이터로 변경해야함
0 5841
1 5652
2 5882
3 5721
4 5879
...
4330 3882
4331 NaN
4332 3898
4333 NaN
4334 3601
Name: 분양가격(㎡), Length: 4335, dtype: object
type(pd.np.nan)
<ipython-input-29-e71c757bba12>:1: FutureWarning: The pandas.np module is deprecated and will be removed from pandas in a future version. Import numpy directly instead
type(pd.np.nan)
float
pd.to_numeric(df_last['분양가격(㎡)'], errors='coerce') ##nan값때문에 float64로된다
0 5841.0
1 5652.0
2 5882.0
3 5721.0
4 5879.0
...
4330 3882.0
4331 NaN
4332 3898.0
4333 NaN
4334 3601.0
Name: 분양가격(㎡), Length: 4335, dtype: float64
df_last["분양가격"] = pd.to_numeric(df_last['분양가격(㎡)'], errors='coerce') ##nan값때문에 float64로된다
df_last['분양가격'].mean()
3238.128632802628
df_last.isna()
지역명 규모구분 연도 월 분양가격(㎡) 분양가격
0 False False False False False False
1 False False False False False False
2 False False False False False False
3 False False False False False False
4 False False False False False False
... ... ... ... ... ... ...
4330 False False False False False False
4331 False False False False True True
4332 False False False False False False
4333 False False False False True True
4334 False False False False False False
4335 rows × 6 columns
df_first
지역 2013년12월 2014년1월 2014년2월 2014년3월 2014년4월 2014년5월 2014년6월 2014년7월 2014년8월 ... 2014년11월 2014년12월 2015년1월 2015년2월 2015년3월 2015년4월 2015년5월 2015년6월 2015년7월 2015년8월
0 서울 18189 17925 17925 18016 18098 19446 18867 18742 19274 ... 20242 20269 20670 20670 19415 18842 18367 18374 18152 18443
1 부산 8111 8111 9078 8965 9402 9501 9453 9457 9411 ... 9208 9208 9204 9235 9279 9327 9345 9515 9559 9581
2 대구 8080 8080 8077 8101 8267 8274 8360 8360 8370 ... 8439 8253 8327 8416 8441 8446 8568 8542 8542 8795
3 인천 10204 10204 10408 10408 10000 9844 10058 9974 9973 ... 10020 10020 10017 9876 9876 9938 10551 10443 10443 10449
4 광주 6098 7326 7611 7346 7346 7523 7659 7612 7622 ... 7752 7748 7752 7756 7861 7914 7877 7881 8089 8231
5 대전 8321 8321 8321 8341 8341 8341 8333 8333 8333 ... 8067 8067 8067 8067 8067 8145 8272 8079 8079 8079
6 울산 8090 8090 8090 8153 8153 8153 8153 8153 8493 ... 8891 8891 8526 8526 8629 9380 9192 9190 9190 9215
7 경기 10855 10855 10791 10784 10876 10646 10266 10124 10134 ... 10356 10379 10391 10355 10469 10684 10685 10573 10518 10573
8 세종 7601 7600 7532 7814 7908 7934 8067 8067 8141 ... 8592 8560 8560 8560 8555 8546 8546 8671 8669 8695
9 강원 6230 6230 6230 6141 6373 6350 6350 6268 6268 ... 6365 6365 6348 6350 6182 6924 6846 6986 7019 7008
10 충북 6589 6589 6611 6625 6678 6598 6587 6586 6586 ... 6724 6743 6749 6747 6783 6790 6805 6682 6601 6603
11 충남 6365 6365 6379 6287 6552 6591 6644 6805 6914 ... 6940 6989 6976 6980 7161 7017 6975 6939 6935 6942
12 전북 6282 6281 5946 5966 6277 6306 6351 6319 6436 ... 6583 6583 6583 6583 6542 6551 6556 6601 6750 6580
13 전남 5678 5678 5678 5696 5736 5656 5609 5780 5685 ... 5768 5784 5784 5833 5825 5940 6050 6243 6286 6289
14 경북 6168 6168 6234 6317 6412 6409 6554 6556 6563 ... 6881 6989 6992 6953 6997 7006 6966 6887 7035 7037
15 경남 6473 6485 6502 6610 6599 6610 6615 6613 6606 ... 7125 7332 7592 7588 7668 7683 7717 7715 7723 7665
16 제주 7674 7900 7900 7900 7900 7900 7914 7914 7914 ... 7724 7739 7739 7739 7826 7285 7285 7343 7343 7343
17 rows × 22 columns
df_last['평균분양가격'] = df_last['분양가격'] * 3.3
df_last
지역명 규모구분 연도 월 분양가격(㎡) 분양가격 평균분양가격
0 서울 전체 2015 10 5841 5841.0 19275.3
1 서울 전용면적 60㎡이하 2015 10 5652 5652.0 18651.6
2 서울 전용면적 60㎡초과 85㎡이하 2015 10 5882 5882.0 19410.6
3 서울 전용면적 85㎡초과 102㎡이하 2015 10 5721 5721.0 18879.3
4 서울 전용면적 102㎡초과 2015 10 5879 5879.0 19400.7
... ... ... ... ... ... ... ...
4330 제주 전체 2019 12 3882 3882.0 12810.6
4331 제주 전용면적 60㎡이하 2019 12 NaN NaN NaN
4332 제주 전용면적 60㎡초과 85㎡이하 2019 12 3898 3898.0 12863.4
4333 제주 전용면적 85㎡초과 102㎡이하 2019 12 NaN NaN NaN
4334 제주 전용면적 102㎡초과 2019 12 3601 3601.0 11883.3
4335 rows × 7 columns
df_last.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4335 entries, 0 to 4334
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 지역명 4335 non-null object
1 규모구분 4335 non-null object
2 연도 4335 non-null int64
3 월 4335 non-null int64
4 분양가격(㎡) 4058 non-null object
5 분양가격 3957 non-null float64
6 평균분양가격 3957 non-null float64
dtypes: float64(2), int64(2), object(3)
memory usage: 237.2+ KB
df_last['분양가격(㎡)'].describe() #공백문자가 있는데이터가 있어서 결측치로 처리 안한
count 4058
unique 1753
top 2221
freq 17
Name: 분양가격(㎡), dtype: object
df_last['분양가격'].describe() #공백데이터는 결측치로봄
count 3957.000000
mean 3238.128633
std 1264.309933
min 1868.000000
25% 2441.000000
50% 2874.000000
75% 3561.000000
max 12728.000000
Name: 분양가격, dtype: float64
df_last['규모구분'].unique()
array(['전체', '전용면적 60㎡이하', '전용면적 60㎡초과 85㎡이하', '전용면적 85㎡초과 102㎡이하',
'전용면적 102㎡초과'], dtype=object)
df_last['전용면적'] = df_last['규모구분'].str.replace("전용면적", "")
df_last['전용면적'] = df_last['전용면적'].str.replace("초과","~")
df_last['전용면적'] = df_last['전용면적'].str.replace('이하',"")
df_last['전용면적'] = df_last['전용면적'].str.replace(" ", "").str.strip()
df_last
지역명 규모구분 연도 월 분양가격(㎡) 분양가격 평균분양가격 전용면적
0 서울 전체 2015 10 5841 5841.0 19275.3 전체
1 서울 전용면적 60㎡이하 2015 10 5652 5652.0 18651.6 60㎡
2 서울 전용면적 60㎡초과 85㎡이하 2015 10 5882 5882.0 19410.6 60㎡~85㎡
3 서울 전용면적 85㎡초과 102㎡이하 2015 10 5721 5721.0 18879.3 85㎡~102㎡
4 서울 전용면적 102㎡초과 2015 10 5879 5879.0 19400.7 102㎡~
... ... ... ... ... ... ... ... ...
4330 제주 전체 2019 12 3882 3882.0 12810.6 전체
4331 제주 전용면적 60㎡이하 2019 12 NaN NaN NaN 60㎡
4332 제주 전용면적 60㎡초과 85㎡이하 2019 12 3898 3898.0 12863.4 60㎡~85㎡
4333 제주 전용면적 85㎡초과 102㎡이하 2019 12 NaN NaN NaN 85㎡~102㎡
4334 제주 전용면적 102㎡초과 2019 12 3601 3601.0 11883.3 102㎡~
4335 rows × 8 columns
df_last.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4335 entries, 0 to 4334
Data columns (total 8 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 지역명 4335 non-null object
1 규모구분 4335 non-null object
2 연도 4335 non-null int64
3 월 4335 non-null int64
4 분양가격(㎡) 4058 non-null object
5 분양가격 3957 non-null float64
6 평균분양가격 3957 non-null float64
7 전용면적 4335 non-null object
dtypes: float64(2), int64(2), object(4)
memory usage: 271.1+ KB
df_last = df_last.drop(['규모구분',"분양가격(㎡)"], axis = 1)
df_last.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4335 entries, 0 to 4334
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 지역명 4335 non-null object
1 연도 4335 non-null int64
2 월 4335 non-null int64
3 분양가격 3957 non-null float64
4 평균분양가격 3957 non-null float64
5 전용면적 4335 non-null object
dtypes: float64(2), int64(2), object(2)
memory usage: 203.3+ KB
df_last
지역명 연도 월 분양가격 평균분양가격 전용면적
0 서울 2015 10 5841.0 19275.3 전체
1 서울 2015 10 5652.0 18651.6 60㎡
2 서울 2015 10 5882.0 19410.6 60㎡~85㎡
3 서울 2015 10 5721.0 18879.3 85㎡~102㎡
4 서울 2015 10 5879.0 19400.7 102㎡~
... ... ... ... ... ... ...
4330 제주 2019 12 3882.0 12810.6 전체
4331 제주 2019 12 NaN NaN 60㎡
4332 제주 2019 12 3898.0 12863.4 60㎡~85㎡
4333 제주 2019 12 NaN NaN 85㎡~102㎡
4334 제주 2019 12 3601.0 11883.3 102㎡~
4335 rows × 6 columns
df_last.groupby(['지역명'])['평균분양가격'].mean()
지역명
강원 7890.750000
경기 13356.895200
경남 9268.778138
경북 8376.536515
광주 9951.535821
대구 11980.895455
대전 10253.333333
부산 12087.121200
서울 23599.976400
세종 9796.516456
울산 10014.902013
인천 11915.320732
전남 7565.316532
전북 7724.235484
제주 11241.276712
충남 8233.651883
충북 7634.655600
Name: 평균분양가격, dtype: float64
df_last
지역명 연도 월 분양가격 평균분양가격 전용면적
0 서울 2015 10 5841.0 19275.3 전체
1 서울 2015 10 5652.0 18651.6 60㎡
2 서울 2015 10 5882.0 19410.6 60㎡~85㎡
3 서울 2015 10 5721.0 18879.3 85㎡~102㎡
4 서울 2015 10 5879.0 19400.7 102㎡~
... ... ... ... ... ... ...
4330 제주 2019 12 3882.0 12810.6 전체
4331 제주 2019 12 NaN NaN 60㎡
4332 제주 2019 12 3898.0 12863.4 60㎡~85㎡
4333 제주 2019 12 NaN NaN 85㎡~102㎡
4334 제주 2019 12 3601.0 11883.3 102㎡~
4335 rows × 6 columns
df_last.groupby(['전용면적'])['평균분양가격'].mean()
전용면적
102㎡~ 11517.705634
60㎡ 10375.137421
60㎡~85㎡ 10271.040071
85㎡~102㎡ 11097.599573
전체 10276.086207
Name: 평균분양가격, dtype: float64
df_last.groupby(['지역명', '전용면적'])['평균분양가격'].mean().unstack().round()
전용면적 102㎡~ 60㎡ 60㎡~85㎡ 85㎡~102㎡ 전체
지역명
강원 8311.0 7567.0 7486.0 8750.0 7478.0
경기 14772.0 13252.0 12524.0 13678.0 12560.0
경남 10358.0 8689.0 8619.0 10018.0 8659.0
경북 9157.0 7883.0 8061.0 8774.0 8079.0
광주 11042.0 9431.0 9911.0 9296.0 9904.0
대구 13087.0 11992.0 11779.0 11141.0 11771.0
대전 14877.0 9176.0 9711.0 9037.0 9786.0
부산 13208.0 11354.0 11865.0 12073.0 11936.0
서울 23446.0 23213.0 22787.0 25944.0 22610.0
세종 10107.0 9324.0 9775.0 9848.0 9805.0
울산 9974.0 9202.0 10503.0 8861.0 10493.0
인천 14362.0 11241.0 11384.0 11528.0 11257.0
전남 8168.0 7210.0 7269.0 7909.0 7284.0
전북 8194.0 7610.0 7271.0 8276.0 7293.0
제주 10523.0 14022.0 10621.0 10709.0 10785.0
충남 8689.0 7911.0 7819.0 9120.0 7815.0
충북 8195.0 7103.0 7264.0 8391.0 7219.0
g = df_last.groupby(['연도', '지역명'])['평균분양가격'].mean()
g.unstack().transpose()
연도 2015 2016 2017 2018 2019
지역명
강원 7188.060 7162.903846 7273.560000 8219.255000 8934.475000
경기 11060.940 11684.970000 12304.980000 14258.420000 15665.540000
경남 8459.220 8496.730000 8786.760000 9327.670000 10697.615789
경북 7464.160 7753.405000 8280.800000 8680.776923 9050.250000
광주 7916.700 9190.683333 9613.977551 9526.953333 12111.675000
대구 9018.900 10282.030000 12206.700000 12139.252632 14081.650000
대전 8190.600 8910.733333 9957.158491 10234.106667 12619.200000
부산 10377.400 10743.535000 11560.680000 12889.965000 13537.865000
서울 20315.680 21753.435000 21831.060000 23202.245000 28286.830000
세종 8765.020 8857.805000 9132.505556 10340.463158 11299.394118
울산 9367.600 9582.574138 10666.935714 10241.400000 10216.250000
인천 10976.020 11099.055000 11640.600000 11881.532143 13249.775000
전남 6798.880 6936.600000 7372.920000 7929.845000 8219.275862
전북 7110.400 6906.625000 7398.973585 8174.595000 8532.260000
제주 7951.075 9567.480000 12566.730000 11935.968000 11828.469231
충남 7689.880 7958.225000 8198.422222 8201.820000 8748.840000
충북 6828.800 7133.335000 7473.120000 8149.295000 7970.875000
g
연도 지역명
2015 강원 7188.060000
경기 11060.940000
경남 8459.220000
경북 7464.160000
광주 7916.700000
...
2019 전남 8219.275862
전북 8532.260000
제주 11828.469231
충남 8748.840000
충북 7970.875000
Name: 평균분양가격, Length: 85, dtype: float64
pd.pivot_table(df_last, index=['지역명'], values = ['평균분양가격'], aggfunc='sum')
평균분양가격
지역명
강원 1909561.5
경기 3339223.8
경남 2289388.2
경북 2018745.3
광주 2000258.7
대구 2899376.7
대전 2030160.0
부산 3021780.3
서울 5899994.1
세종 2321774.4
울산 1492220.4
인천 2931168.9
전남 1876198.5
전북 1915610.4
제주 2461839.6
충남 1967842.8
충북 1908663.9
pd.pivot_table(df_last, index = ['전용면적'], values = ['평균분양가격'], aggfunc="mean")
평균분양가격
전용면적
102㎡~ 11517.705634
60㎡ 10375.137421
60㎡~85㎡ 10271.040071
85㎡~102㎡ 11097.599573
전체 10276.086207
df_last.pivot_table(index='전용면적', columns = '지역명', values = '평균분양가격').round()
지역명 강원 경기 경남 경북 광주 대구 대전 부산 서울 세종 울산 인천 전남 전북 제주 충남 충북
전용면적
102㎡~ 8311.0 14772.0 10358.0 9157.0 11042.0 13087.0 14877.0 13208.0 23446.0 10107.0 9974.0 14362.0 8168.0 8194.0 10523.0 8689.0 8195.0
60㎡ 7567.0 13252.0 8689.0 7883.0 9431.0 11992.0 9176.0 11354.0 23213.0 9324.0 9202.0 11241.0 7210.0 7610.0 14022.0 7911.0 7103.0
60㎡~85㎡ 7486.0 12524.0 8619.0 8061.0 9911.0 11779.0 9711.0 11865.0 22787.0 9775.0 10503.0 11384.0 7269.0 7271.0 10621.0 7819.0 7264.0
85㎡~102㎡ 8750.0 13678.0 10018.0 8774.0 9296.0 11141.0 9037.0 12073.0 25944.0 9848.0 8861.0 11528.0 7909.0 8276.0 10709.0 9120.0 8391.0
전체 7478.0 12560.0 8659.0 8079.0 9904.0 11771.0 9786.0 11936.0 22610.0 9805.0 10493.0 11257.0 7284.0 7293.0 10785.0 7815.0 7219.0
t = pd.pivot_table(df_last, index=["연도",'지역명'], values = '평균분양가격')
t
평균분양가격
연도 지역명
2015 강원 7188.060000
경기 11060.940000
경남 8459.220000
경북 7464.160000
광주 7916.700000
... ... ...
2019 전남 8219.275862
전북 8532.260000
제주 11828.469231
충남 8748.840000
충북 7970.875000
85 rows × 1 columns
t.loc[2017]
평균분양가격
지역명
강원 7273.560000
경기 12304.980000
경남 8786.760000
경북 8280.800000
광주 9613.977551
대구 12206.700000
대전 9957.158491
부산 11560.680000
서울 21831.060000
세종 9132.505556
울산 10666.935714
인천 11640.600000
전남 7372.920000
전북 7398.973585
제주 12566.730000
충남 8198.422222
충북 7473.120000
import matplotlib.pyplot as plt
plt.rc("font", family='Malgun Gothic')
g = df_last.groupby(['지역명'])['평균분양가격'].mean().sort_values(ascending = False)
g
지역명
서울 23599.976400
경기 13356.895200
부산 12087.121200
대구 11980.895455
인천 11915.320732
제주 11241.276712
대전 10253.333333
울산 10014.902013
광주 9951.535821
세종 9796.516456
경남 9268.778138
경북 8376.536515
충남 8233.651883
강원 7890.750000
전북 7724.235484
충북 7634.655600
전남 7565.316532
Name: 평균분양가격, dtype: float64
g.plot()
g.hist()
g.plot.bar(rot = 0, figsize = (10,3)) #rot 가로로 글씨표시
df_last.groupby(['전용면적'])['평균분양가격'].mean().plot.bar(rot = 0)
df_last.groupby(['연도'])['평균분양가격'].mean().plot.bar(rot=0)
df_last.pivot_table(index='월',columns='연도', values='평균분양가격').plot.box()
df_last.pivot_table(index='월',columns=['연도','전용면적'], values='평균분양가격').plot.box()
p = df_last.pivot_table(index='월',columns=['연도','전용면적'], values='평균분양가격')
p.plot.box(rot = 30, figsize = (15,3))
p.plot.bar(rot = 0, figsize=(10,3))
p = df_last.pivot_table(index='월',columns=['연도'], values='평균분양가격')
p.plot(figsize= (10,3), rot =0)
p = df_last.pivot_table(index='연도',columns=['월'], values='평균분양가격')
p.plot(figsize= (10,3), rot =0)