티스토리 뷰
df=pd.read_csv('./국비2일차/아파트(매매)__실거래가_20220810114432.csv',encoding='cp949')
df
df[df['해제사유발생일'].notnull()].index
df.drop(index=df[df['해제사유발생일'].notnull()].index)
df=df[['시군구','전용면적(㎡)','거래금액(만원)']]
df.head()
시군구 전용면적(㎡) 거래금액(만원)
0 강원도 강릉시 견소동 59.800 15,000
1 강원도 강릉시 견소동 84.945 25,000
2 강원도 강릉시 견소동 39.080 12,000
3 강원도 강릉시 견소동 59.990 22,700
4 강원도 강릉시 견소동 84.990 32,500
df['전용면적(㎡)']=df['전용면적(㎡)'].astype('int64')
df['거래금액(만원)']=df['거래금액(만원)'].str.replace(',','').astype('int64')
df.dtypes
시군구 object
전용면적(㎡) int64
거래금액(만원) int64
dtype: object
시도 컬럼 추가
df['시도']=df['시군구'].str.split(' ').str[0]
df['시도'].nunique()
df_84=df[df['전용면적(㎡)']==84].copy()
df_84_mean=df_84.groupby('시도')['거래금액(만원)'].mean()
df_84_max=df_84.groupby('시도')['거래금액(만원)'].max()
df_84_min=df_84.groupby('시도')['거래금액(만원)'].min()
df_84_median=df_84.groupby('시도')['거래금액(만원)'].median()
df_84_price=pd.concat([df_84_mean,df_84_max,df_84_min,df_84_median],axis=1)
df_84_price
거래금액(만원) 거래금액(만원) 거래금액(만원) 거래금액(만원)
시도
강원도 25621.143705 72500 7000 23600.0
경기도 57744.551506 220000 7400 52000.0
경상남도 30770.641038 110000 5300 28400.0
경상북도 25517.207854 64500 4000 25000.0
광주광역시 38346.005747 104500 10700 33950.0
대구광역시 39440.240000 148000 13700 35900.0
대전광역시 45819.606299 127000 12500 44370.0
부산광역시 43509.624573 183000 9400 37550.0
서울특별시 122363.360902 384500 29500 110000.0
세종특별자치시 70825.274725 119000 23800 74000.0
울산광역시 36702.941176 120000 6900 33000.0
인천광역시 53170.064871 130000 16700 47700.0
전라남도 23630.894419 74000 5500 23000.0
전라북도 26590.016839 66500 4200 22150.0
제주특별자치도 44086.699029 95000 13500 42500.0
충청남도 26145.824237 94500 3500 23600.0
충청북도 29130.657439 72000 7600 27000.0
칼럼명 변경
df_84_price.columns=['평균','최대','최소','중간']
내림차순 정렬
df_84_price.sort_values('평균',ascending=False)
df_84_price['평균']=round(df_84_price['평균'],1)
df_84_price
plt.rcParams['figure.figsize']=(15,5)
plt.bar(x_index-0.3,df_84_price['최대'],width=0.2,label='최대')
plt.bar(x_index-0.1,df_84_price['평균'],width=0.2,label='평균')
plt.bar(x_index+0.1,df_84_price['중간'],width=0.2,label='중간')
plt.bar(x_index+0.3,df_84_price['최소'],width=0.2,label='최소')
plt.legend()
plt.xticks(x_index,labels=df_84_price.index,rotation=45)
plt.grid(axis='y',ls=':')
plt.title('2021년 8월 시도별 아파트 매매가 현황(84)',size=20)
plt.ylabel('매매가(만원)')
plt.show()

df_84_seoul=df_84[df_84['시도']=='서울특별시'].copy()
df_84_seoul
df_84_seoul['구']=df_84_seoul['시군구'].str.split(' ').str[1]
df_84_seoul
df_seoul_gu=[]
for i in range(len(seoul_gu)):
df_seoul_gu.append(df_84_seoul.groupby('구')['거래금액(만원)'].get_group(seoul_gu[i]))
plt.boxplot(df_seoul_gu)
plt.show()

plt.boxplot(df_seoul_gu,labels=seoul_gu,showmeans=True)
plt.xticks(rotation=45)
plt.ylabel('매매가(만원)')
plt.title('2021년 8월 서울시 아파트 매매가 분포(84m)',size=20)
plt.show()

df_84_seoul_mean=df_84_seoul.groupby('구')['거래금액(만원)'].mean()
df_84_seoul_mean=round(df_84_seoul_mean,1)
df_84_seoul_mean
#서울시 아파트 구별 거래 건수
df_84_seoul_count=df_84_seoul.groupby('구')['거래금액(만원)'].count()
df_84_seoul_count.sort_values()
df_84_seoul_mean_count=pd.concat([df_84_seoul_mean,df_84_seoul_count],axis=1)
df_84_seoul_mean_count.columns=['평균매매가(만원)','거래건수']
df_84_seoul_mean_count=df_84_seoul_mean_count.sort_values('평균매매가(만원)',ascending=False)
df_84_seoul_mean_count
fig,ax1=plt.subplots()
ax1.bar(df_84_seoul_mean_count.index,df_84_seoul_mean_count['평균매매가(만원)'],label='평균매매가')
plt.xticks(rotation=45)
ax2=ax1.twinx()
ax2.plot(df_84_seoul_mean_count['거래건수'],'k^--',mfc='r',mec='r',label='거래건수')
ax1.legend(loc='upper left',edgecolor='k')
ax2.legend(loc='upper right',edgecolor='k')
ax1.set_ylabel('평균매매가(만원)')
ax2.set_ylabel('거래건수')
plt.title('2021년 8월 서울시 아파트 평균매매가, 거래건수',size=20)
plt.show()

'새싹 > 새싹 데이터시각화' 카테고리의 다른 글
pyplot으로 그래프 그리기 (1) | 2023.11.27 |
---|---|
12. 상가상권분석 (0) | 2022.08.10 |
10. 연령별 인구구조 시각화 (0) | 2022.08.10 |
9. 지역별 인구구조 시각화 (0) | 2022.08.09 |
8. 서울시 폭염 및 열대야분석 시각화 (0) | 2022.08.08 |
- Total
- Today
- Yesterday
- 인프런
- jlpt
- 파이썬
- 사회심리학
- 통계
- 보세사
- 열혈프로그래밍
- Python
- stl
- 오블완
- 인지부조화
- C/C++
- K-MOOC
- 심리학
- c++
- 류근관
- 코딩테스트
- 일본어문법무작정따라하기
- 여인권
- 뇌와행동의기초
- 강화학습
- 백준
- 일본어
- 일문따
- C
- 데이터분석
- 회계
- 윤성우
- 통계학
- 티스토리챌린지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |