728x90
반응형

Series의 문자열 메서드 (str.)
Pandas는 문자열 데이터를 처리하기 위한 다양한 문자열 메서드를 제공합니다. 이 메서드들은 Series의 각 요소에 대해 문자열 연산을 수행하도록 설계되어 있어, 데이터 전처리와 분석 과정에서 매우 유용합니다.
1. 문자열 메서드의 주요 종류
Pandas의 str 속성을 사용하면 Python 문자열 함수와 유사한 작업을 Series의 각 요소에 적용할 수 있습니다. 주요 메서드는 다음과 같습니다:
메서드 설명
str.upper | 문자열을 대문자로 변환 |
str.lower | 문자열을 소문자로 변환 |
str.strip | 문자열의 양쪽 공백 제거 |
str.lstrip | 문자열의 왼쪽 공백 제거 |
str.rstrip | 문자열의 오른쪽 공백 제거 |
str.replace | 특정 문자열 또는 정규 표현식을 다른 문자열로 대체 |
str.contains | 특정 패턴(문자열 또는 정규 표현식)이 포함되어 있는지 확인 |
str.startswith | 특정 문자로 시작하는지 확인 |
str.endswith | 특정 문자로 끝나는지 확인 |
str.len | 문자열의 길이를 반환 |
str.split | 특정 구분자로 문자열을 나누어 리스트로 반환 |
str.join | 리스트 형태의 문자열을 특정 구분자로 연결 |
str.findall | 정규 표현식을 사용해 모든 매칭되는 문자열을 리스트로 반환 |
str.get | 문자열에서 특정 위치의 문자를 반환 |
str.isdigit | 각 문자열이 숫자로만 이루어져 있는지 확인 |
2. 문자열 메서드 예제
1) 대소문자 변환
import pandas as pd
data = pd.Series(['apple', 'Banana', 'Cherry'])
# 대문자로 변환
print(data.str.upper())
# 소문자로 변환
print(data.str.lower())
출력
0 APPLE
1 BANANA
2 CHERRY
dtype: object
0 apple
1 banana
2 cherry
dtype: object
2) 공백 제거
data = pd.Series([' apple', 'Banana ', ' Cherry '])
# 양쪽 공백 제거
print(data.str.strip())
# 왼쪽 공백 제거
print(data.str.lstrip())
# 오른쪽 공백 제거
print(data.str.rstrip())
출력
0 apple
1 Banana
2 Cherry
dtype: object
0 apple
1 Banana
2 Cherry
dtype: object
0 apple
1 Banana
2 Cherry
dtype: object
3) 문자열 대체(또는 다른 형태로 변환 = int )
data = pd.Series(['apple pie', 'banana pie', 'cherry pie'])
# 'pie'를 'cake'로 대체
print(data.str.replace('pie', 'cake'))
출력
0 apple cake
1 banana cake
2 cherry cake
dtype: object
4) 문자열 포함 여부 확인
data = pd.Series(['apple', 'banana', 'cherry'])
# 'a'가 포함된 문자열 확인
print(data.str.contains('a'))
# 'ba'로 시작하는 문자열 확인
print(data.str.startswith('ba'))
# 'y'로 끝나는 문자열 확인
print(data.str.endswith('y'))
출력
0 True
1 True
2 False
dtype: bool
0 False
1 True
2 False
dtype: bool
0 False
1 False
2 True
dtype: bool
5) 문자열 길이 계산
data = pd.Series(['apple', 'banana', 'cherry'])
# 문자열 길이 반환
print(data.str.len())
출력
0 5
1 6
2 6
dtype: int64
6) 문자열 분리 및 결합
data = pd.Series(['apple pie', 'banana pie', 'cherry pie'])
# 공백을 기준으로 문자열 분리
print(data.str.split(' '))
# 리스트 형태의 문자열을 연결
joined = pd.Series([['apple', 'pie'], ['banana', 'pie'], ['cherry', 'pie']])
print(joined.str.join('-'))
출력
0 [apple, pie]
1 [banana, pie]
2 [cherry, pie]
dtype: object
0 apple-pie
1 banana-pie
2 cherry-pie
dtype: object
7) 정규 표현식 활용
data = pd.Series(['abc123', 'def456', 'ghi789'])
# 숫자만 추출
print(data.str.findall(r'\\d+'))
# 특정 패턴을 다른 값으로 대체
print(data.str.replace(r'\\d+', 'NUMBER', regex=True))
출력
0 [123]
1 [456]
2 [789]
dtype: object
0 abcNUMBER
1 defNUMBER
2 ghiNUMBER
dtype: object
3. 요약
Pandas의 문자열 메서드(str.):
- 데이터 전처리: 공백 제거, 특정 문자열 대체, 문자열 길이 확인 등.
- 데이터 검색 및 필터링: 특정 패턴 포함 여부, 시작/끝 패턴 확인 등.
- 정규 표현식 활용: 복잡한 문자열 처리를 손쉽게 수행.
TIP💡
- 문자열 데이터 전처리 시 str 메서드와 함께 정규 표현식을 적극적으로 활용하면 효율적인 데이터 처리가 가능합니다.
- DataFrame에서는 특정 열을 선택해 적용해야 한다는 점을 기억하세요.
728x90
반응형
'Python > 이론' 카테고리의 다른 글
114. [Python] [Pandas] 프로그래밍 기본 사항 : Tidy Data (0) | 2025.01.23 |
---|---|
112. [Python] [Pandas] 프로그래밍 기본 사항 : CONCATENATING AND MERGING (0) | 2025.01.23 |
110. [Python] [Pandas] 프로그래밍 기본 사항 : Dealing with NaN (0) | 2025.01.22 |
109. [Python] [Pandas] 프로그래밍 기본 사항 : Dataframe (0) | 2025.01.22 |
108. [Python] [Pandas] 프로그래밍 기본 사항 : Series (0) | 2025.01.22 |