강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

sjse2000님의 프로필 이미지
sjse2000

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

[6/21] 주소를 통한 시도명과 구군명 파생변수 만들기

강원을 강원도로 바꿀 때 str.replace

작성

·

199

1

강의에서는 '강원'을 '강원도'로 변경할 때 replace를 썼는데

df["시도"]는 series 데이터니까 문자열 분석할 때 str.replace()써도 되나요?? 

df["시도"].str.replace("강원", "강원도")로 코드 돌려봤을 때  '강원도'데이터는 '강원도도'로 변경되었는데 이럴때는 어떻게 해결하면 좋을까요??

replace와 str.replace의 차이가 궁금합니다!!

답변 1

2

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요. 

replace과 str.replace는 비슷한 것 같으면서도 많이 다른데요.

replace는 데이터프레임과 시리즈 모두에 사용할 수 있고, 모든 텍스트가 일치 되어야 값이 변경되고 일부가 일치하는건 값이 변경되지 않아요.

str.replace는 시리즈에만 사용할 수 있어요. 그리고 일부 텍스트만 일치해도 값을 변경할 수 있습니다.

그리고 질문주신 예제에서 강원도=> 강원도도 로 변경되지 않게 사용하려면 정규표현식을 함께 사용하거나 다른 규칙을 함께 사용해야해요.

아래와 같이 ^시작 $끝 을 앞뒤로 지정해 주면 강원으로 시작하고 끝나는 텍스트만을 찾아 바꾸게 됩니다.

df["시도"].str.replace("^강원$", "강원도")


정규표현식은 강의 중간 부분에 다루니  해당 부분을 참고해 주세요.

sjse2000님의 프로필 이미지
sjse2000

작성한 질문수

질문하기