랭귀지/pandas

-숫자 형태의 부분을 찾아 그 숫자를 추출

유키공 2025. 3. 19. 14:46
import pandas as pd
import re

def last_number(x):
    if pd.isna(x):  # NaN 확인
        return ''
    match = re.search(r'(?<=-)\d+$', str(x))  # Lookbehind를 사용하여 -를 제외하고 숫자만 매칭
    return match.group(0) if match else ''

df['aaa'] = df2['bbb'].apply(last_number)

 

 

import pandas as pd

# 예시 데이터프레임 생성
df2 = pd.DataFrame({'bbb': ['abc-123', 'def-456', 'ghi', 'jkl-789', None]})

# 벡터화된 연산으로 처리
df = pd.DataFrame()
df['aaa'] = df2['bbb'].str.extract(r'(?<=-)(\d+)$', expand=False).fillna('')