공공데이터 파이썬 분석 _ Day 02

2020. 3. 10. 22:37데이터과학/PYTHON

728x90
반응형

#groupby로 데이터 집계하기

groupby를 통해 데이터를 그룹화해서 연산을 해본다.

df.groupby(['인덱스로 사용할 컬럼명'])["계산할 컬럼 값"].연산()

 

-지역명으로 분양가격의 평균을 구하고 막대그래프(bar)로 시각화

df_last.groupby(["지역명"])["평당분양가격"].mean()

-전용면적으로 분양가격의 평균을 구한다.

df_last_groupby(["전용면적"])["평당분양가격"].mean()

-지역명, 전용면적으로 평당분양가격의 평균을 구한다.

df_last_groupby(["전용면적", "지역명"])["평당분양가격"].mean().unstack().round()

-연도, 지역명으로 평당분양가격의 평균을 구한다.

g = df_last.groupby(["연도", "지역명"])["평당분양가격"].mean()

 

#pivot table로 데이터 집계하기

pd.pivot_table(df_last_index=["지역명"], values=["평당분양가격"], aggfunc="mean")

 

pd.pivot_table(df_last, index="전용면적", values="평당분양가격")

@df_last.groupby(["전용면적"])["평당분양가격"].mean()

 

#지역명, 전용면적으로 평당분양가격의 평균 구하기

df_last_pivot_table(index="전용면적", columns="지역명", values="평당분양가격").round()

 

#연도, 지역명으로 평당분양가격의 평균 구하기

@g = df_last.groupby(["연도", "지역명"])["평당분양가격"].mean()

p = pd.pivot_table(df_last, index=["연도", "지역명"], values="평당분양가격")

p.loc[2017]

 

#데이터 시각화 하기

폰트설정

import matplotlib.pyplot as plt

plt.rc("font, family="AppleGothic")

 

#pandas로 시각화 하기 - 선그래프와 막대그래프

#지역명으로 분양가격의 평균을 구하고 선그래프로 시각화

g = df_last.groupby(["지역명"])["평당분양가격"].mean().sort_values(ascending=False)

g.plot()

 

#지역명으로 분양가격의 평균을 구하고 막대그래프(bar)로 시각화

g.plot.bar(rot=0, figsize(10, 3))

 

#전용면적으로 분양가격의 평균을 구하고 막대그래프(bar)로 시각화

df_last.groupby(["전용면적"]["평당분양가격"].mean().plot.bar()

 

#연도별 분양가격의 평균을 구하고 막대그래프(bar)로 시각화

df_last.groupby(["연도"]["평당분양가격"].mean().plot()

 

#box-and-whisker plot | diagram

기술통계학에서 '상자 수염 그림'은 수치적 자료를 표현하는 그래프이다.

자료로부터 얻어낸 통계량인 5가지 요약 수치로 그린다.

5가지 요약 수치란 기술통계학에서 자료의 정보를 알려주는 아래의 다섯 가지 수치를 의미한다.

1. 최솟값

2. 제 1사분위수

3. 제 2사분위수(), 중앙값

4. 제 3사분위수

5. 최댓값

df_last.pivot_table(index="월", columns="연도", values="평당분양가격").plot.box()

p = df_last.pivot_table(index="월", columns=["연도", "전용면적"], values="평당분양가격")

p.plot.bow(figsize=(15, 3), rot=30)

p = df_last.pivot_table(index="연도", columns="지역명", values="평당분양가격")

p.plot(figsize=15, 3), rot=30)