Pandas에서 문자열 처리는 Series의 `str` 접근자를 통해 수행됩니다. 이를 통해 벡터화된 문자열 작업을 효율적으로 수행할 수 있습니다.
기본 문자열 메서드
# python
import pandas as pd
s = pd.Series([' hello ', 'WORLD', 'python', 'PANDAS'])
# 소문자 변환
print(s.str.lower())
# 대문자 변환
print(s.str.upper())
# 공백 제거
print(s.str.strip())
# 문자열 길이
print(s.str.len())
# 문자열 연결
print(s.str.cat(sep=', '))
#
문자열 검색 및 대체
# python
# 부분 문자열 포함 여부
print(s.str.contains('o'))
# 정규표현식 매칭
print(s.str.match(r'^[A-Z]+$'))
# 문자열 대체
print(s.str.replace('o', '0'))
#
문자열 분할 및 추출
# python
s = pd.Series(['a_b_c', 'c_d_e', 'f_g_h'])
# 문자열 분할
print(s.str.split('_'))
# 특정 위치의 요소 추출
print(s.str.split('_').str[1])
# 문자열 슬라이싱
print(s.str[2:5])
#
문자열 형식 지정
# python
s = pd.Series([1, 2, 3])
# 문자열 포맷팅
print(s.map('number: {:02d}'.format))
#
정규표현식 활용
# python
import re
s = pd.Series(['1234', 'abcd', '2a3b', '45cd'])
# 정규표현식을 이용한 추출
print(s.str.extract(r'(\d)(\d)'))
# 정규표현식을 이용한 대체
print(s.str.replace(r'\d+', 'NUM'))
#
문자열 데이터 정제
# python
s = pd.Series([' Hello,World ', 'Python-Pandas', 'Data Science'])
# 여러 작업 연결
cleaned = (s.str.strip()
.str.replace(',', '')
.str.replace('-', ' ')
.str.lower())
print(cleaned)
#
문자열을 이용한 데이터 변환
dates = pd.Series(['2023-01-01', '2023-02-15', '2023-03-30'])
# 문자열을 날짜로 변환
print(pd.to_datetime(dates))
numbers = pd.Series(['1,234', '5,678', '9,012'])
# 쉼표 제거 후 숫자로 변환
print(numbers.str.replace(',', '').astype(int))
#
이러한 문자열 처리 기능을 활용하면 텍스트 데이터를 효과적으로 정제하고 변환할 수 있습니다. Pandas의 문자열 메서드는 대부분의 Python 문자열 메서드와 유사하게 작동하지만, 전체 Series에 대해 벡터화된 연산을 수행하므로 대량의 데이터를 빠르게 처리할 수 있습니다.
#파이썬 #Python #데이터분석 #dataanalysis #문자열 #문자열처리 #pandas #string-manipulation #text-processing #정규표현식
0 댓글