ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Pandas] Series.str.replace()함수 정규식 미적용 해결 방법
    오류해결 2025. 5. 18. 23:35
    반응형

    (※ 밑에 해결 방법이 있으니, 바쁘신 분들은 아래에 있는 "최종 해결 방법" 항목을 참고하세요😊)

     

     

     

    이번 포스팅에서는 판다스에 있는 Series.str.replace() 사용 시,
    정규식 표현이 적용되지 않는 문제에 대해서 알아보겠습니다.

     

    ❓ 문제의 코드

    # data 컬럼의 내용에서 숫자, 영문자, 공백 등의 글자를 삭제하려고 했지만, 삭제 불가
    comment_data['data'] = comment_data['data'].str.replace('[^가-힣 ]', '')
    
    comment_data['data']

     

    👉 코드 실행 결과

     

    해당 코드 실행 시, 한글 및 공백을 제외한 나머지 글자가 삭제될 줄 알았지만,
    삭제되지 않는 문제가 발생하였습니다🥹

    Pandas 2.0부터는 replace() 함수의 기본값이 regex=False로 바뀌어서,
    위의 코드처럼 작성하면 [^가-힣 ] 문자열 그대로 찾아 바꾸려 하기 때문에 아무 변화가 없다고 합니다❗

    이에, 아래의 코드처럼 사용하면 문제가 해결이 되네요👍

     

    ❗ 해결 코드

    # data 컬럼의 내용에서 숫자, 영문자, 공백 등의 글자 삭제
    comment_data['data'] = comment_data['data'].str.replace('[^가-힣 ]', '', regex=True)
    
    comment_data['data']

     

    👉 코드 실행 결과

     

    regex=True를 명시해서 정규식으로 처리하도록 하면 됩니다❗
    위의 코드를 통해 한글과 스페이스만 남기고 (숫자, 영어, 특수문자 등) 전부 삭제되도록 해보았습니다😊

     

    💡최종 해결 방법

    comment_data['data'] = comment_data['data'].str.replace('[^가-힣 ]', '', regex=True)

    Series.str.replace()함수에 regex=True 파라미터 추가❗

    반응형
Designed by Tistory.