데이터

제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 02-5

Leah (리아) 2025. 9. 25. 19:52
반응형

Chapter 02. 데이터 핸들링을 위한 Numpy와 Pandas

 

데이터 병합과 요약 (Numpy와 Pandas)

1. 데이터 병합 (merge 함수와 JOIN)

  • merge 함수는 SQL의 JOIN 기능과 동일하게 작동하여 두 데이터프레임을 결합합니다.
  • 병합 시 기준이 되는 열(조인 키)을 설정해야 하며, 다양한 인자를 통해 조인 조건을 지정할 수 있습니다.

주요 인자들:

  • left, right: 병합할 두 개의 데이터프레임
  • on: 공통된 키 컬럼 (두 데이터프레임 모두 포함)
  • left_on, right_on: 키 컬럼 이름이 서로 다를 때 사용
  • left_index, right_index: 인덱스를 조인 키로 활용할 때 사용
  • how: 조인 방식 지정 (기본값은 "inner")
    • inner: 공통 키만 병합
    • left: 왼쪽 데이터프레임 키 기준
    • right: 오른쪽 데이터프레임 키 기준
    • outer: 두 데이터프레임 키의 합집합 기준

 

2. 데이터 집계 (Aggregation)

데이터를 요약하고 통계값을 계산하는 다양한 메서드를 배웠습니다.

  • 기본 집계 함수: sum, mean, median, min/max, std/var, count, cumsum, quantile, describe
  • 빈도 집계:
    • value_counts() → 특정 열의 고유 값 빈도 집계
    • normalize=True → 비율 반환
    • dropna=False → 결측치 포함 가능
    • cut()과 함께 사용하면 구간별 빈도도 집계 가능
  • groupby 메서드:
    • 조건 변수에 따라 데이터를 그룹화 후 통계량 산출 (Split → Apply → Combine)
    • 여러 조건/대상 변수를 지정할 수 있으며, 결과가 멀티 인덱스가 될 수 있음
    • reset_index()로 단일 인덱스로 변환 가능
    • agg() 메서드를 활용하면 여러 함수를 동시에 적용하거나 열별로 다른 함수 적용 가능

 

* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.


 

💡 생각 정리

이번 강의에서는 단순한 데이터 조회에서 한 단계 나아가, 데이터를 합치고 요약하는 과정이 분석의 핵심 도구라는 걸 알게 되었다. SQL에서 JOIN을 쓰듯이 Pandas의 merge를 사용하면 다양한 조건으로 데이터를 유연하게 연결할 수 있어 실제 프로젝트에서 데이터셋을 정리할 때 매우 유용할 것 같다.

 

특히 how 인자를 통해 inner/outer join을 자유롭게 바꿀 수 있다는 점이 인상적이었다. 실제 분석 과정에서는 데이터 누락이나 중복 문제가 자주 발생하는데, 이 인자를 어떻게 쓰느냐에 따라 결과가 크게 달라질 수 있으니 주의 깊게 다뤄야겠다고 느꼈다.

 

또한 groupby와 agg는 단순 요약을 넘어서, 조건별로 원하는 방식으로 데이터를 분석할 수 있는 강력한 도구라는 걸 실감했다. 멀티 인덱스는 다소 낯설게 느껴졌지만, reset_index()로 깔끔하게 바꿀 수 있어 활용도가 높다고 생각했다.

 

결국 이번 강의는 데이터 병합 = 분석 준비, 데이터 요약 = 인사이트 도출의 출발점이라는 점을 확실히 보여줬다고 본다.


🚀 적용점

  • 실제 프로젝트 데이터셋 두 개를 불러와서 merge로 inner/left/right/outer join을 각각 실습해본다.
  • on, left_on, right_on 인자를 다르게 적용해보며 다양한 병합 방식을 체득한다.
  • groupby와 agg를 활용해 카테고리별 평균, 최대값, 개수 등을 계산하는 연습을 해본다.
  • value_counts(normalize=True)로 비율 집계 실습을 해보고, SQL GROUP BY와 비교하며 더 직관적으로 이해한다.
  • 멀티 인덱스로 결과가 나오는 경우 reset_index()를 습관적으로 활용해 가독성을 높인다.

👉 다음 단계에서는 이 집계와 병합을 기반으로, 더 심화된 데이터 분석 및 전처리 기법으로 확장될 수 있으니 이번 개념을 확실히 다지는 것이 중요하다.

반응형