본문 바로가기

Pandas/응용

판다스 - groupby : 컬럼 선택 (SeriesGroupBy, DataFrameGroupBy)

반응형
GroupBy 객체를

컬럼 이름으로 색인 → SeriesGroupBy

컬럼 이름이 담긴 배열로 색인 → DataFrameGroupBy

 

위 두개는 같지만서도 조금 다르다.

 

 

 

 

데이터를 불러와 살펴보자

 

 

 

위 데이터프레임을 key1 컬럼으로 그룹핑하자

 

 

 

 

 

 

우선 그룹핑한 객체는 당연하게도 DataFrameGroupBy 이다.

 

 

 

 

 

컬럼 이름으로 색인 ['컬럼명']

 

 

SeriesGroupBy가 나온다.

 

 

 

 

 

 

 

컬럼 이름이 담긴 배열로 색인 [['컬럼명']]

 

 

DataFrameGroupBy가 나온다.

 

 

 

 

사실 중요한 것은 위 둘의 차이보단

 

'이를 어떻게 활용하느냐'이다.

 

결과가 나올 수 있게 평균 집계함수를 써서 결과물을 리턴하자

 

 

 

 

 

 

 

 

SeriesGroupBy

 

 

data1의 컬럼명은 나오지 않고 결과만 나와있다.

 

 

 

 

 

 

 

 

DataFrameGroupBy

 

 

data1의 컬럼명이 보인다.

 

즉, 어떤 컬럼에 평균이 적용됐는지 한번에 확인할 수 있다.

 

 

 

 

 

 

 

 

key1, key2 두 개의 컬럼으로 그룹핑해도 마찬가지다.

 

 

코드를 보면 data2 컬럼에 적용됐다고 알 수 있지만

 

 

코드가 길어지거나 data같은 컬럼이 많아지면 한 눈에 파악하기 어려울 수 있다.

 

 

 

 

 

 

따라서 하나의 컬럼을 보려해도 

 

컬럼 이름의 배열이 담긴 색인을 이용해 DataFrameGroupBy로 리턴이 능률적이다.

 

 

 

 

 

다른 예시

 

 

filtered라는 변수명의 데이터프레임이다.

 

이를 mall별로 그룹화하여 total_price의 count, max, min, mean을 찾아보자

 

 

 

 

 

 

SeriesGroupBy

 

 

어느 컬럼의 값인지 코드를 봐야한다.

 

 

 

 

 

 

 

DataFrameGroupBy

 

 

결과에 total_price 컬럼에 적용됐다고 나와있다.

 

한눈에 파악하기 쉽다.

반응형