Acdong
Learn by doing
Acdong
전체 방문자
오늘
어제
  • 분류 전체보기
    • Economy
      • Saving Money
    • Self-improvement
    • Thoughts
    • Machine learning
      • Deep Learning
      • Chatbot
      • NLP
    • MLops
      • AWS
      • Container
      • Serving
    • Computer Vision
    • Data Science
      • ADsP
      • R
    • Project
    • Python
      • Data Structure & Algorithm
    • C,C++
    • API
      • ElasticSearch
    • Error Note
    • Network
    • RDBMS
      • SQL

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • [GitHub]

인기 글

태그

  • 기계학습
  • 포인터
  • nlp
  • c포인터
  • sbert
  • plot()
  • R그래프
  • Numpy
  • 데이터 전처리
  • 어텐션
  • 다중공선성
  • 머신러닝
  • SentenceTransformer
  • 이미지 전처리
  • 회귀계수
  • 존댓말 반말 분류
  • Python
  • pandas
  • R시각화
  • R

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Acdong

Learn by doing

[데이터 전처리]. pandas Dataframe, Series 특수문자 제거하기
Machine learning

[데이터 전처리]. pandas Dataframe, Series 특수문자 제거하기

2020. 12. 4. 14:22
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 이거는 꼭 작성해줘야 정규표현식이 작동함.

str은 이런식으로 다 쪼갠다.

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
    'Machine learning' 카테고리의 다른 글
    • [기계학습] Kernel Support Vector Machines ( KSVMs , 커널 서포트 벡터 머신)
    • [데이터 전처리]. pandas Dataframe 중복된 값 제거하기
    • [기계학습]. Cost functions (loss function) 비용 함수
    • [기계학습]. Gradient descent ( 경사하강법) 간단히 알아보기.
    Acdong
    Acdong
    E-mail : alswhddh@naver.com / 자연어처리와 MLops 를 연구하고 있는 스타트업 개발자입니다.

    티스토리툴바