문자열
판다스에서 문자열을 다루는 방법을 알아봅시다.
import pandas as pd
예제 데이터 입니다.
df = pd.DataFrame({
'name': ['John', 'Mary', 'Kim'],
'addr': ['Jongno', 'Jongno', ' Yongsan ']})
df
name | addr | |
---|---|---|
0 | John | Jongno |
1 | Mary | Jongno |
2 | Kim | Yongsan |
.str.메소드()
형식으로 문자열 메소드들을 쓸 수 있습니다.
name
컬럼을 소문자로 바꿔보겠습니다.
df['name'].str.lower()
0 john 1 mary 2 kim Name: name, dtype: object
대문자로 바꿀 때는 upper
를 사용합니다.
df['name'].str.upper()
0 JOHN 1 MARY 2 KIM Name: name, dtype: object
addr
의 경우 ' Yongsan '
과 같이 글자 앞뒤로 공백이 있는 경우가 있습니다. strip
을 이용하면 앞뒤 공백을 제거해줍니다.
df['addr'].str.strip()
0 Jongno 1 Jongno 2 Yongsan Name: addr, dtype: object
찾아 바꾸기기는 replace
를 사용합니다. 아래는 'no'
를 'ro'
로 바꾸는 예입니다.
df['addr'].str.replace('no', 'ro')
0 Jongro 1 Jongro 2 Yongsan Name: addr, dtype: object
'no'
를 포함하는지 확인하려면 contains
를 사용합니다.
df['addr'].str.contains('no')
0 True 1 True 2 False Name: addr, dtype: bool
extract
를 이용해 특정한 패턴을 추출할 수 있습니다. 패턴은 정규표현식을 사용해서 지정합니다. 아래는 A에서 Z까지 모든 영어 대문자를 추출합니다.
df['addr'].str.extract('([A-Z])')
0 | |
---|---|
0 | J |
1 | J |
2 | Y |
문자열로 표현된 범주형 변수는 통계 분석이나 기계 학습에서 더미 변수 또는 원 핫 인코딩이라는 형태로 변환을 거칩니다. 이러한 변환은 get_dummies
를 사용합니다.
df['addr'].str.get_dummies()
Yongsan | Jongno | |
---|---|---|
0 | 0 | 1 |
1 | 0 | 1 |
2 | 1 | 0 |