본문 바로가기
파이썬 (투자분석용)/Pandas 및 python 일반

Pandas와 정규표현식

by amAToRoi 2024. 2. 13.
반응형

정규표현식이란?

문자열의 패턴을 표현하는 방식으로 오래되었고 가장 강력한 방식의 하나인 정규표현식(regular expression)은 문자열 방식의 데이터 구조를 해체하여 규칙에 어긋나는 데이터를 제거하거나 대체하는 데 사용되며, 경우에 따라서는 추출하는 데 사용한다.

Pandas에서 쉬이 쓰이는 메소드

  • 'pandas.Series.str.contain()': 패턴이 확인되면 True, 없으면 False를 반환
  • 'pandas.Series.str.extract()': 소괄호'()'로 그룹화된 패턴을 반환

정규표현식에 쓰이는 META 문자들 (aka 표현 규칙)

정규표현식에 쓰이는 표현식은 스스로 공부하는 것이 첫번째 스텝일 것이며, 내용을 알고 나면 ChatGPT를 활용하는 방법이 편리할 것이다. 아래의 표로 정규표현식에 쓰이는 메타 문자를 일부분 정리하였다. 공부하는 가장 손 쉬운 사이트는 RegexOne 만한 곳이 없다. 영어로 되어 있는 것이 흠이라면 흠이지만, Lesson을 순서대로 따라가면 20분이면 쓸 수 있지 않을까?

Meta example meaning
^ ^x Start with 'x'
$ x$ End with 'x'
. .x before 'x', 1 digit charactor exist
+ x+ 'x' repeated more than 1
? x? 'x' maybe or maybe not exist
| x|y '|' is pipeline, meaning 'or'
() (x) '()' make it group
{} x{n} 'x' repeated 'n' times
  x{n,} 'x' repeated more than 'n' times
  x{n,m} 'x' repeated more than 'n' times and maximum 'm' times

ChatGPT의 프롬프트 사용예는 다음과 같다. LLM을 통칭으로 ChatGPT라고 했으며, 나는 Bard(Gemini)에게 물어보았다. 결과를 살펴보자.

""" 이름, 생년월일 """로 표현되는 문자열의 정규식을 알려줘. 생년월일은 """ YYYY-MM-DD """로 표시되고, 이름은 영문으로 만 작성되고 첫 글자가 대문자야.

 

반응형

댓글