Pandans (3)
데이터 전처리|조회 8|2026.08.27 17:18
0:00 / 37:32
Pandans (3)
37:32학습 목표
이 영상을 통해 Pandas 라이브러리의 agg, transform, diff, shift 함수와 같은 데이터 집계 및 변환 함수들의 작동 방식과 활용법을 깊이 이해하고, 실제 데이터 분석에 적용할 수 있는 능력을 기릅니다. 특히, 그룹별 연산의 중요성과 Pandas 버전별 동작 차이에 따른 주의사항을 학습합니다.
핵심 개념
1. 데이터 집계 및 변환 함수
agg: 여러 집계 함수를 한 번에 적용하여 결과에 열 이름을 붙여 반환합니다. 그룹별로 요약표를 만들 때 유용합니다.
df.groupby('기준열').agg({'대상열': ['평균', '최고가']})
transform: 그룹별로 계산하되, 연산을 위해 원본 데이터프레임과 동일한 행의 수를 유지하며 결과를 각 행의 원래 자리에 되돌려 놓습니다. 원본 데이터프레임과의 연산에 사용됩니다.
df.groupby('기준열')['대상열'].transform('mean')
diff: 시리즈에서 바로 이전 값과의 차이를 계산합니다. 데이터프레임에서는 바로 위 행과의 차이를 구합니다. 첫 행은 이전 값이 없어 NaN이 됩니다.
series.diff()
shift: 열을 통째로 한 칸 아래로 밀어 이전 값을 다음 행으로 옮깁니다.i번째 값은i-1번째 값으로 변경되며, 첫 행은 이전 값이 없어 NaN이 됩니다.
series.shift(1)
2. 그룹별 연산의 중요성
diff, shift 등의 함수를 사용할 때 groupby()를 함께 사용하면, 각 그룹 내에서만 연산이 수행되어 경계값에서 데이터가 분리되지 않고 올바르게 계산됩니다. 그룹바이를 하지 않으면 다른 그룹의 데이터와 혼합되어 예상치 못한 결과가 나올 수 있습니다.
3. Pandas 버전별 동작 차이 (View vs Copy)
- Pandas 3.0 이상 버전에서는 데이터 슬라이싱이나 조건부 선택 시 기본적으로 복사본(copy)을 생성합니다. 이는 이전 버전에서 발생하던 경고 메시지(SettingWithCopyWarning)를 방지하고 원본 데이터 수정을 명확히 하기 위함입니다.
- 이전 버전(2.x)에서는 뷰(view)를 반환하는 경우가 많아 원본 데이터 수정이 의도치 않게 발생할 수 있었습니다.
- 명시적으로 복사본을 만들려면
.copy()메소드를 사용합니다.
공부 방향성
이 영상을 시청하기 전에 Pandas의 기본적인 데이터프레임 및 시리즈 조작 방법에 대한 이해가 있으면 좋습니다. 시청 후에는 agg, transform, diff, shift 함수를 실제 데이터셋에 적용해보며 그룹별 연산의 효과를 체감하고, Pandas 버전 업데이트에 따른 변경 사항을 인지하며 코드를 작성하는 습관을 들이는 것이 중요합니다. 다음 단계로는 롤링(rolling)이나 누적 합계(cumsum)와 같은 시계열 데이터 분석 관련 함수들을 학습하는 것을 추천합니다.