프로그래밍/Python 관련 정보
[Python - Frequently Used Code] pandas DataFrame 문자열 대체
물박사의 저장공간
2025. 2. 4. 22:45
이번 포스팅에서는 파이썬의 문자열 대체 방법에 대해서 한 번 정리해보도록 하겠습니다. 여느 때와 비슷하게 제가 나중에 찾아보려는 포스팅입니다.
1. str.replace()
str.replace(old, new[, count])
old : 대체하고자 하는 문자열
new : 새로 대체할 문자열
count : 바꿀 횟수 (생략 시 모든 문자열 대체)
문자열 column(Series)에 대해 개별 문자열 데이터를 대체할 때 사용합니다.
기본 문자열 매서드로 문자열의 일부만 일치해도 해당 부분이 대체됩니다.
import pandas as pd
df = pd.DataFrame({'text': ['hello world', 'worldwide', 'hello']})
df['text'] = df['text'].str.replace('world', 'planet')
print(df)
text
0 hello planet
1 planetwide
2 hello
2. replace()
데이터프레임 전체 혹은 특정 column에 대해 값 대체가 가능합니다.
문자열 뿐만 아니라 숫자, NaN 등 모든 값에 사용할 수 있습니다.
부분 일치가 아니라 완전 값 일치가 될 때만 대체됩니다.
df = pd.DataFrame({'text': ['hello world', 'worldwide', 'hello']})
df = df.replace({'text': 'world'}, 'planet')
print(df)
text
0 hello world
1 worldwide
2 hello
3. Re.sub()
정규표현식+Lambda함수(apply)을 사용하는 방법입니다. 좀 더 자유도를 높힐 수 있는 대신 정규표현식을 알아야 적용이 가능합니다.
import re
df['text'] = df['text'].apply(lambda x: re.sub(r'world', 'planet', x))
print(df)
text
0 hello planet
1 planetwide
2 hello