랭귀지/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('')