ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • str의 데이터 추출
    python-str관리 2025. 2. 20. 08:38

    Python Pandas의 str.extract() 활용법: 정규 표현식으로 데이터 추출하기

    데이터 분석을 하다 보면 문자열에서 특정 패턴을 추출해야 할 때가 많습니다. 예를 들어, 상품명에서 코드만 따로 분리하거나, 한글과 숫자를 분리하는 작업이 필요할 수 있습니다. 이런 경우, Pandas의 str.extract() 함수와 정규 표현식(Regex) 을 사용하면 매우 쉽게 처리할 수 있습니다.


    🔹 str.extract()란?

    Pandas의 str.extract() 함수는 문자열에서 특정 패턴을 찾아서 추출하는 기능을 합니다. 정규 표현식을 활용하여 원하는 데이터를 분리할 수 있으며, 새로운 컬럼으로 저장하는 것도 가능합니다.

    ✅ 기본 문법

    DataFrame['컬럼명'].str.extract(r'(정규 표현식)')
    • r'...' : 정규 표현식(Regex)을 의미하는 문자열
    • () : extract()괄호 () 안의 패턴을 추출

    📌 str.extract() 정규 표현식 예제

    정규 표현식의미예제 (추출 결과)

    ([A-Z]\d+) 대문자 1개 + 숫자 조합 "노트북 A123""A123"
    (\w\d+) 알파벳 또는 숫자 + 숫자 조합 "모니터 B456""B456"
    (\d+) 숫자만 추출 "키보드 C789""789"
    ([가-힣]+) 한글만 추출 "마우스 M200""마우스"
    ([A-Za-z]+) 영문자만 추출 "모니터 B456""B"
    (\D+) 숫자가 아닌 문자만 추출 "키보드 C789""키보드 C"
    ([a-zA-Z0-9]+) 한글 제외하고 영어+숫자만 추출 "스마트폰 X500""X500"
    (\b[A-Z]+\b) 대문자 단어만 추출 (공백 기준) "TV LG OLED""LG"
    (\w+)$ 문장 끝 마지막 단어 추출 "맥북 프로 M1""M1"
    ^(\w+) 문장 맨 앞 첫 번째 단어 추출 "갤럭시 Z 플립""갤럭시"

    🎯 str.extract() 실전 활용 예제

    🔹 예제 데이터 생성

    import pandas as pd
    
    # 예제 데이터 생성
    data = {'상품명': ['노트북 A123', '모니터 B456', '키보드 C789', '마우스 M200', '스마트폰 X500']}
    df = pd.DataFrame(data)

    🔹 숫자 코드만 추출하기

    df['숫자코드'] = df['상품명'].str.extract(r'(\d+)')
    print(df)

    출력 결과:

           상품명       숫자코드
    0  노트북 A123   123
    1  모니터 B456   456
    2  키보드 C789   789
    3  마우스 M200   200
    4  스마트폰 X500  500

    🔹 한글과 영문+숫자 분리하기

    df['한글명'] = df['상품명'].str.extract(r'([가-힣]+)')
    df['영문+숫자'] = df['상품명'].str.extract(r'([A-Za-z0-9]+)')
    print(df)

    출력 결과:

           상품명       숫자코드  한글명   영문+숫자
    0  노트북 A123   123   노트북  A123
    1  모니터 B456   456   모니터  B456
    2  키보드 C789   789   키보드  C789
    3  마우스 M200   200   마우스  M200
    4  스마트폰 X500  500  스마트폰  X500

    🔥 str.extract() 실무 활용 팁

    1️⃣ ERP, 쇼핑몰 데이터 정리

    • 상품명에서 모델명, 브랜드명, 제품 코드를 분리할 때 유용
    • 예: "삼성 갤럭시 S21 256GB""갤럭시 S21", "256GB"

    2️⃣ 마케팅 데이터 분석

    • UTM 파라미터, 트래킹 코드에서 특정 값 추출
    • 예: "utm_source=google&utm_medium=cpc""google", "cpc"

    3️⃣ 로그 데이터 분석

    • IP 주소, 특정 패턴 로그를 분리하는 데 활용
    • 예: "User: admin (IP: 192.168.0.1)""192.168.0.1"

    ✅ 정리

    Pandas의 str.extract()정규 표현식을 사용하여 문자열에서 특정 패턴을 추출하는 강력한 기능입니다. 상품명 정리, 데이터 정제, 마케팅 분석, 로그 분석 등 다양한 실무에서 활용 가능하므로 익혀두면 데이터 분석 효율이 크게 향상됩니다! 🚀

     

    'python-str관리' 카테고리의 다른 글

    import re  (0) 2025.03.08
    Python - 문자열 함수 정리  (0) 2025.03.08
Designed by Tistory.