데이터 분석을 위한 Pandas: 8. 문자열 처리

 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 댓글