카테고리 없음
[python pandas] 문자열 필터링 / 문자열 분리 / 카테고리로 분류
오기오기
2021. 5. 25. 11:05
728x90
반응형
> 문자열 필터링
시설명 | 어른관람료 | 운영기관전화번호 |
필암서원 유물전시관 | 500 | 061-390-7224 |
원주역사박물관 | 0 | 033-737-4371 |
뮤지엄산미술관 | 15000 | 033-730-9000 |
오랜미래신화미술관 | 0 | 033-746-5256 |
연세대학교 원주박물관 | 0 | 033-760-2731 |
- 시설명에 '대학'이 포함되어 있으면 '대학', 그렇지 않으면 '일반'으로 나누어 '분류' column에 입력
-
import pandas as pd df = pd.read_csv('museum_1.csv') df['분류'] = df['시설명'].str.contains('대학') df.loc[df['분류']==True,'분류'] = '대학' df.loc[df['분류']==False,'분류'] = '일반'
> 문자열 분리
- '운영기관전화번호' column의 맨 앞 3자리를 추출 후 '지역번호' column에 입력
1) str.split 사용
import pandas as pd
df = pd.read_csv('data/museum_2.csv')
df['지역번호'] = df['운영기관전화번호'].str.split('-').str[0]
df
2) str[:3] 사용
import pandas as pd
df = pd.read_csv('museum_2.csv')
df['지역번호'] = df['운영기관전화번호'].str[:3]
df
3) .str.split(pat='-') 사용
-> 문자열을 '-' 기준으로 분리
number = df['운영기관전화번호'].str.split(pat='-', n=2, expand=True)
df['지역번호'] = number[0]
n=2 옵션을 적용하면, n을 기준으로 문자열을 나누되 최대 2번 분리 (3가지 영역으로 나눠짐)
expand=True 옵션을 활용하면 결과를 DataFrame으로 보여줌
728x90
반응형