Python 을 활용한 데이터분석

데이터 그룹화 (groupby, pivot_table)

jwns 2022. 1. 14. 14:12
더보기

1. groupby를 통해 데이터를 그룹화 하기

 

df_last.groupby(["컬럼명"]).mean() : 해당컬럼의 평균을 보여준다.

위 그림에서는 컬럼을 지역명으로 사용해서, 지역들의 평균을 나타낸다.

 

 

 

df_last.groupy(["A컬럼"])["B컬럼"].mean() : A컬럼을 인덱스로 사용하고, B컬럼의 평균 값을 계산한다.

 

 

 

 

 

unstack()을 사용해서, 전용면적을 컬럼으로 만들어 주었다.

인덱스로 설정할 컬럼이 한개가 아니라면, .groupby(["A컬럼","B컬럼"])["계산한 컬럼"].연산() 처럼 첫번째 소괄호 안에 인덱스로 설정할 컬럼들을 써주면 된다. 

그림에서는, unstack() 함수를 사용해서 전용면적을 (열)컬럼으로 만들어 주었다.

 

 

데이터 그룹화 한것을 변수에 담았고, 

g.unstack() , g.unstack().transpose() 꼴로 더 간편하게 사용 가능하다.

transpose() 함수는 행과 열을 바꿔준다. 즉, "지역명" 을 인덱스로 사용하고, "연도"를 (열) 컬럼으로 만들어 주었다.

 

더보기

2. Pivot_table 로 데이터 집계하기

 

groupby로 했던 작업을 pivot table로도 할 수 있다.

pd.pivot_table? +ctrl+enter 를 하면 pivot_table을 어떻게 사용하는지에 대해서 알 수 있다.

pd.pivot_table 을 사용하면, 맨처음에 어느 데이터를 이용할 것인지 써주어야 하지만 쓰려는데이터.pivot_table 을 사용하면 사용하려는 데이터의 pivot_table을 사용하는것이기 때문에 보다 더 직관적이고 간단하게 사용할 수 있다.

 

 df_last.pivot_table? ctrl+ enter = 사용법 

aggfunc = mean 은 기본값이어서 따로 써주지 않으면 기본값으로 평균이 나온다.

 

 

 

지역명, 전용면적으로 평당분양가격의 평균을 구하고 싶다면,

컬럼을 지역명으로 설정하고, index = 전용면적, 평당분양가격을 value로 설정하여서 평균을 구하면 된다

 

 

 

index 가 복수라면, 대괄호안에 써주면 된다.

 

 

 

[출처]: 인프런, "공공데이터로 파이썬 데이터 분석 시작하기" 박조은 선생님 강의

https://www.inflearn.com/course/%EA%B3%B5%EA%B3%B5%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A1%9C-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0/dashboard

 

 

파일 출처: 공공데이터포털, 주택도시보증공사_전국 신규 민간 아파트 분양가격 동향

https://www.data.go.kr/dataset/3035522/fileData.do