파이썬/데이터프레임 다루기

Pandas pipe() 함수의 개념과 활용

Data Jun 2026. 2. 11. 13:47

데이터를 전처리하다 보면 .str.replace(), .dropna(), .astype()처럼
여러 연산을 체이닝(chain) 방식으로 이어 붙이게 됩니다.

 

이때 등장하는 함수가 바로 pipe()입니다.

 

1. pipe()란 무엇인가

pipe()는

현재 객체를 다음 함수에 그대로 전달하는 연결 도구

입니다.

 

즉,

obj.pipe(func)

func(obj)

와 동일합니다.

 

기능 차이는 없고, 표현 방식의 차이입니다.

 

2. 왜 사용하는가

예를 들어 날짜 변환을 한다고 가정해보겠습니다.

df['visit_date']
    .str.replace('년', '-')
    .str.replace('월', '-')
    .str.replace('일', '')
    .pipe(pd.to_datetime)

마지막 줄의 의미는:

pd.to_datetime(앞에서 가공된 결과)

입니다.

 

pipe()를 쓰면
연산 흐름이 위에서 아래로 자연스럽게 이어집니다.

 

3. 언제 특히 유용한가

사용자 정의 함수와 함께 쓰면 더 깔끔합니다.

def clean_date(x):
    return pd.to_datetime(x)

df['visit_date'].pipe(clean_date)

이렇게 하면 전처리 과정을 하나의 단계처럼 표현할 수 있습니다.

 

4. 정리

 

  • pipe()는 현재 객체를 다음 함수에 전달하는 도구
  • 기능적으로는 func(obj)와 동일
  • 체이닝 구조에서 가독성을 높여줌
  • 사용자 정의 함수와 함께 사용하면 구조화된 코드 작성 가능

 

pipe()는 기능을 바꾸는 문법이 아니라, 데이터 처리 흐름을 깔끔하게 연결해주는 구조적 도구입니다.