본문 바로가기

Pandas/응용

판다스 - groupby : 집계함수를 활용한 뒤 데이터프레임 분석

반응형

데이터 불러오기

 

 

 

25행 6열의 df가 있다.

 

 

 

 

 

광고그룹과 키워드는 위와 같다.

 

 

 

 

 

 

 

이를 우선 광고그룹으로 그룹핑해보자

 

 

 

 

목표 : 광고그룹별 클릭률 구하기

 

 

 

try1 : 함수정의 후 apply

 

 

 

데이터프레임의 원본을 반환한다.

 

이는 컬럼간 나누기를 한 것이기 때문에

 

키워드별 클릭률과 동일한 값이 나왔다.

 

try1 실패

 

 

 

 

 

try2 : lambda와 apply 이용

 

 

 

 

이 또한 try1과 같은 결과로 원하는 값이 아니다.

 

try2 실패

 

 

 

 

 

 

try3 : lambda와 집계함수 이용

 

 

그룹별 클릭수의 합과 노출수의 합으로 나누면 원하는 데이터를 얻을 수 있다.

 

단, 그룹과 값만 있는 시리즈가 나와서 활용도는 다소 떨어질 수 있다.

 

 

 

 

 

 

try4 : 집계함수를 포함한 함수 정의

 

 

그룹별 그룹_클릭률 컬럼이 새로 추가된다.

 

 

 

 

데이터프레임의 원본 반환

 

 

 

 

이는 

 

 

try3에서 구한 값들이 그룹별로 컬럼에 추가된 것이다.

 

 

 

 

 

따라서 그룹별로 출력을 하면

 

 

 

항상 같은 값을 보인다.

 

이를 잘 활용할 수 있을지는 다소 의문이다.

 

 

 

 

 

 

try5 : 집계함수를 이용한 뒤 데이터프레임에서 컬럼간 연산

 

 

광고그룹의 sum 집계함수를 이용해서 합계들을 구한다.

 

위의 결과는 데이터프레임이다.

 

여기서 의미있는 컬럼은 노출수와 클릭수이다.

 

 

 

왜냐하면 클릭률은 그룹별 클릭률을 합한 것이기 때문에

 

그룹별 클릭률이라고 볼 수 없기 때문이다.

 

따라서 그룹별 클릭률을 구하는 컬럼을 새로 추가해야 한다.

 

 

 

 

데이터프레임이기 때문에 컬럼간 연산도 수월하게 진행할 수 있다.

 

또한 광고그룹이 인덱스로 되었기 때문에 활용도도 높다.

 

 

 

 

결론

 

try1, try2 접근을 잘못함
try3 그룹별 원하는 값만 있는 시리즈
try4 그룹별 원하는 값이 컬럼으로 추가되어 원본 반환
try5 집계함수를 이용해 데이터프레임으로 활용

 

물론 각각의 방법마다 장단점이 있겠으나

 

이 중에서 목표로 했던 광고그룹별 클릭률을 구할 수 있고

 

활용도가 높은 방법은 try5 방법일 것이다.

 

 

 

 

 

반응형