파이썬/데이터프레임 다루기
Pandas에서 문자열 처리의 핵심, str 메서드 활용하기
Data Jun
2025. 4. 11. 13:41
데이터 분석에서 문자열 처리 작업은 빠질 수 없는 필수 단계입니다. 특히 pandas를 사용할 때 Series.str 접근자를 통해 다양한 문자열 메서드를 손쉽게 사용할 수 있습니다. 이번 글에서는 실무에서 자주 사용하는 세 가지 메서드인 replace에 대해 알아보겠습니다.
데이터 전처리 중 문자열을 바꿀 일이 정말 많습니다. 예를 들어 'V-L-RMA'를 'RMA'로 바꾸고 싶은 상황이죠. 그런데 아래 두 가지 방법 중 어떤 게 맞는 걸까요?
df['code'].replace('V-L-', '') # ❓
df['code'].str.replace('V-L-', '') # ✅
결론부터 말하면 두 코드는 완전히 다르게 작동합니다.
replace() 사용 – 전체 값 매칭
df['code'].replace('V-L-RMA', 'RMA')
- ✅ 'V-L-RMA'는 바뀐다 (전체 일치)
- ❌ 'V-L-SCR'은 바뀌지 않는다 ('V-L-'만 바꾸려는 게 아니기 때문)
str.replace() – 문자열 일부를 치환할 때
str.replace()는 문자열 내부에서 특정 부분 문자열을 찾아 다른 문자열로 바꿔주는 메서드입니다.
df['column'] = df['column'].str.replace('V-L-', '')
예를 들어, V-L-SCR, V-L-RMA 등의 코드 앞부분인 'V-L-'을 제거하고 싶다면 위와 같이 사용할 수 있습니다.
이는 단순히 값 전체를 바꾸는 replace()와는 다르게 부분 치환이 가능합니다.
📌 TIP: 정규표현식(Regex)을 함께 쓰면 더욱 유연한 문자열 처리가 가능합니다.
df['col'].str.replace('V-L-', '', regex=True)
결론
replace()는 전체 값 치환,
str.replace()는 문자열 내부 일부를 바꾸는 함수
문자열 처리를 할 땐 항상 .str.replace()를 사용하는 것이 안전하고 정확합니다.