728x90
문자열(string) 데이터에 특수문자들이 있으면 파이썬으로 처리하기에 불편한 점이 한 두 가지가 아니다.
특히 자연어 처리에 있어서는 특수문자는 골치덩어리 (제거하기도 애매한 것들이 있음).
이번엔 다 필요없고 문자만 남기고 다 지워버리는 방법이다.
위에 데이터를 보면 ♡, [ , ] , ! , & 등 특수문자들이 보인다. 이런 것 다 없애보자.
없애는 방법은 간단하다. 정규표현식을 사용한다.
df["title"] = df["title"].str.replace(pat=r'[^\w]', repl=r'', regex=True)
-
replace( ) 함수는 조건에 맞는 것을 다른 것으로 대체 해주는 함수.
-
r'[^\w]' 는 모든 특수문자를 뜻하는 정규 표현식.
-
df["title"].str 을 하면 글자를 하나하나씩 다 쪼개준다.
-
repl = r'' 이건 제거하겠다는 의미 만약 r' '면 공백으로 대체됨.
-
regex=True 이거는 꼭 작성해줘야 정규표현식이 작동함.
df["title"] = df["title"].str.replace(pat=r'[^\w]', repl=r'', regex=True)
결국 이 문장을 해석하면.
문자열이 있는 시리즈 데이터의 문자로 다 쪼개서 그게 특수문자면 제거해라(r'')
그리고 난 정규표현식을 사용할꺼다.
이렇게 정리할 수 있겠네요.
after |
결과를 자세히 보면 특수문자들이 다 제거되었습니다. 깔끔...
자연어 처리 패키지에 보면 특수문자를 제거 해주는 메소드는 아주 많지만 그래도 간단하게 만들어 봤습니다
반응형
'Machine learning' 카테고리의 다른 글
[기계학습] Kernel Support Vector Machines ( KSVMs , 커널 서포트 벡터 머신) (0) | 2021.01.12 |
---|---|
[데이터 전처리]. pandas Dataframe 중복된 값 제거하기 (0) | 2020.12.04 |
[기계학습]. Cost functions (loss function) 비용 함수 (0) | 2020.11.03 |
[기계학습]. Gradient descent ( 경사하강법) 간단히 알아보기. (0) | 2020.11.03 |
[데이터 전처리] . 데이터 구간화 ( Data binning ) (0) | 2020.10.23 |