TIL: Pandas `groupby` 함수 이해하기

Gi Woon Lee·2024년 9월 7일
0

TIL

목록 보기
59/78

📚 TIL: Pandas groupby 함수 이해하기

1. groupby의 기본 사용법:

  • Pandas의 groupby 함수는 데이터를 한 개 이상의 컬럼으로 그룹화할 때 사용됩니다.

  • 그룹화된 데이터에 대해 집계 함수(예: sum(), mean(), count())를 적용할 수 있습니다.

    grouped = df.groupby(['Column1', 'Column2'])['TargetColumn'].sum()

2. reset_index()와 함께 사용하기:

  • reset_index()groupby 후에 사용하면, 그룹화된 컬럼들이 인덱스에서 일반 데이터프레임의 컬럼으로 변환됩니다.

  • reset_index()를 사용하지 않으면, 그룹화된 컬럼들이 인덱스로 남아 결과가 시리즈(Series) 형식이 됩니다.

    # DataFrame 반환
    df_grouped = df.groupby(['Date', 'Store'])['Sales'].sum().reset_index()
    
    # Series 반환
    series_grouped = df.groupby(['Date', 'Store'])['Sales'].sum()

3. Series vs. DataFrame 반환 형식:

  • reset_index() 사용 시: 그룹화된 컬럼들이 일반 컬럼으로 변환되어 데이터프레임을 반환합니다.
  • reset_index() 미사용 시: 그룹화된 컬럼들이 인덱스로 사용되어 시리즈를 반환합니다.

4. ['Column']을 사용하는 이유:

  • ['TargetColumn']을 사용하여 특정 컬럼에 대해 집계 함수(예: sum())를 적용합니다.
  • 특정 컬럼을 지정하지 않으면, 모든 숫자형 컬럼에 대해 집계가 적용될 수 있습니다.

5. 단일 컬럼에 groupby 적용하기:

  • 단일 컬럼에 대해 groupby를 적용해도 reset_index()를 사용하지 않으면 결과는 시리즈로 반환됩니다.

    # 단일 컬럼을 그룹화하고 합계 구하기
    grouped = df.groupby(['Date'])['Sales'].sum().reset_index()  # DataFrame

6. groupby의 일반적인 규칙:

  • groupby를 적용하면 기본적으로 시리즈가 반환되며, .reset_index()를 사용해야 데이터프레임으로 변환됩니다.

7. groupby의 실용적인 활용:

  • 데이터 요약 (예: 날짜별 총 매출).
  • 그룹별 추세 및 패턴 분석.
  • .agg()를 사용하여 여러 개의 집계 통계를 동시에 계산.

8. 자주 사용하는 집계 함수:

  • sum(), mean(), count(), max(), min(), .agg() 등을 사용하여 다양한 집계를 수행할 수 있습니다.

9. 핵심 요약:

  • 결과를 데이터프레임으로 얻고 싶다면 항상 reset_index()를 사용하세요.
  • groupby는 데이터 분석 작업에서 데이터 요약 및 변환에 매우 유용합니다.

0개의 댓글