Python/Pandas

pandas.groupby를 통한 데이터 집계

PySun 2025. 5. 12. 08:31
반응형

Pandas groupby: 데이터 집계의 마법

파이썬의 Pandas 라이브러리는 데이터 조작과 분석을 손쉽게 할 수 있는 도구입니다. 특히 groupby 메소드는 데이터를 그룹화하고 집계할 수 있게 해주어, 데이터 분석의 효율성을 높여 줍니다. 이 포스팅에서는 groupby를 통한 데이터 집계의 개념과 함께 몇 가지 예제를 소개하겠습니다.

Pandas groupby의 기본 개념

groupby는 데이터프레임이나 시리즈에서 특정 열을 기준으로 데이터를 그룹화하여 집계나 변환을 수행할 수 있도록 해줍니다. 이 과정은 'Split-Apply-Combine'이라고 불리며, 데이터 분석의 중요한 과정 중 하나입니다.

메소드 시그니처

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, dropna=True)

매개변수 설명:

  • by: 그룹화할 열 이름 또는 배열입니다.
  • as_index: True이면, 결과 데이터프레임의 인덱스가 그룹의 열이 됩니다.

반환 값 설명:

  • 그룹화된 데이터프레임 또는 시리즈입니다.

사용 예제

기본 집계 예제

다음은 간단한 데이터프레임을 사용하여 groupby 메소드를 통해 데이터 집계를 수행하는 예제입니다.

import pandas as pd

# 샘플 데이터프레임 생성
data = {
    '팀': ['A', 'A', 'B', 'B', 'C', 'C'],
    '점수': [90, 80, 85, 95, 100, 95]
}
df = pd.DataFrame(data)

# 팀별 점수의 평균 계산
grouped = df.groupby('팀')['점수'].mean()

print(grouped)
# 출력:
# 팀
# A     85.0
# B     90.0
# C     97.5
# Name: 점수, dtype: float64

여러 집계 함수 사용하기

여러 집계 함수(예: 합계, 평균, 최대값)를 동시에 사용할 수도 있습니다.

import pandas as pd

# 샘플 데이터프레임 생성
data = {
    '팀': ['A', 'A', 'B', 'B', 'C', 'C'],
    '점수': [90, 80, 85, 95, 100, 95]
}
df = pd.DataFrame(data)

# 팀별 점수의 합계와 평균 계산
aggregated = df.groupby('팀')['점수'].agg(['sum', 'mean', 'max'])

print(aggregated)
# 출력:
#      sum  mean  max
# 팀                   
# A    170  85.0   90
# B    180  90.0   95
# C    195  97.5  100

결론

Pandas groupby 메소드는 데이터 집계와 분석을 보다 효율적으로 만들어줍니다. 다양한 데이터를 쉽게 그룹화하고 여러 집계 함수를 적용하여 유용한 인사이트를 얻을 수 있습니다.

  • 데이터를 의미 있게 그룹화하여 분석의 깊이를 더하세요!
  • 지금 바로 groupby 메소드를 사용하여 데이터 집계의 매력을 경험해 보세요!
반응형