• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

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

21.02.06 18:13 작성 조회수 128

1

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

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

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

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

답변 1

답변을 작성해보세요.

2

안녕하세요. 

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

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

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

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

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

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


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