카테고리 없음

[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
반응형