Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas에서 그룹별 합계 구하기 – groupby().sum() 활용법

Python Pandas에서 데이터를 특정 열을 기준으로 그룹화한 뒤 합계를 구하려면 groupby(columns).sum() 메서드를 사용하면 됩니다. 이 방법은 지정한 열을 기준으로 행들을 묶어 각 그룹의 숫자 데이터를 한 번에 집계할 수 있어, 데이터 분석에서 가장 널리 쓰이는 기법 중 하나입니다.

처리 순서

  • 2차원이면서 크기 변경이 가능하고, 서로 다른 자료형도 담을 수 있는 표 형태의 데이터(DataFrame)인 df를 생성합니다.
  • 입력 DataFrame인 df를 출력해 내용을 확인합니다.
  • df.groupby().sum()을 사용해 그룹별 합계를 계산합니다. 이 함수는 지정된 열의 값을 먼저 정렬한 뒤, 정렬된 기준에 따라 나머지 열들의 값도 함께 그룹화하여 집계합니다.
  • 그룹별 합계 결과를 출력합니다.

예제 코드

import pandas as pd

df = pd.DataFrame(
    {
        "Apple": [5, 2, 7, 0],
        "Banana": [4, 7, 5, 1],
        "Carrot": [9, 3, 5, 1]
    }
)

print("입력 DataFrame:\n", df)
g_sum = df.groupby(["Apple"]).sum()
print("Apple 기준 그룹별 합계:\n", g_sum)

실행 결과

입력 DataFrame:

    Apple  Banana  Carrot
0      5       4       9
1      2       7       3
2      7       5       5
3      0       1       1

Apple 기준 그룹별 합계:

       Banana  Carrot
Apple
0           1       1
2           7       3
5           4       9
7           5       5

참고 사항

위 실행 결과에서 볼 수 있듯이, groupby()는 기준 열(Apple)의 고유값을 인덱스로 사용하며 각 그룹에 속한 행들의 나머지 열 값을 모두 더해 반환합니다.

또한 두 개 이상의 열을 기준으로 그룹화하고 싶다면 df.groupby(['열1', '열2']).sum()처럼 열 이름을 리스트로 전달하면 됩니다. 그룹화된 결과를 일반 DataFrame 형태로 되돌리고 싶다면 마지막에 .reset_index()를 추가로 호출하면 편리합니다.