Python/이론

111. [Python] [Pandas] 프로그래밍 기본 사항 : Pandas Series의 문자열 메서드 (str.)

천재단미 2025. 1. 23. 11:14
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
반응형
home top bottom
}