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 메소드를 사용하여 데이터 집계의 매력을 경험해 보세요!
반응형