인프런 커뮤니티 질문&답변

가갸거겨고교규님의 프로필 이미지

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

[17/21] 시도별 공원 빈도수와 비율 구하기

시도별로 구분한 데이터에 관해 질문사항 있습니다!

22.06.02 21:12 작성

·

306

1

앞의 강의에서 시도별 파생변수를 새로 생성해 강의를 쭉 진행해왔는데요! 저번에 남겼던 질문에 답을 듣지 못해 새롭게 남겨봅니다!

 

도로명 주소가 되어있다보니 시도 뿐만 아니라 길의 이름으로 시작하는 주소도 생각보다 많이 있는데 이 부분에 대해서는 어떻게 처리를 할 수 있을까요??

답변 2

0

가갸거겨고교규님의 프로필 이미지

2022. 06. 02. 22:13

빠르고 친절한 답변 감사합니다.

그러면 현재로써 가장 간단한 방법은 '길' 또는 '로'로 끝나는 주소를 제가 찾아서 직접 변경을 해주는 방법인걸까요?? 

박조은님의 프로필 이미지
박조은
지식공유자

2022. 06. 03. 11:36

안녕하세요. 

아래와 같은 방법으로 함수를 만들어서 "길" 혹은 "로"로 끝나는 주소가 있는지 찾고 

만약 변경하고자 하는 주소가 있다면 직접 전처리 해주는 방법이 있습니다.

 

def find_road(address):
    add_list = []
    for add in address.split():
        if add.endswith("로") or add.endswith("길"):
            add_list.append(add)
    return add_list    


find_road("서울특별시 마포구 월드컵로 72")

 

0

박조은님의 프로필 이미지
박조은
지식공유자

2022. 06. 02. 21:42

안녕하세요. 제가 답변을 놓치고 있었네요.

일단 데이터에서 주소가 제대로 수집이 되지 않았다면 제대로 수집된 주소 데이터를 확보하는 것이 가장 좋으나 이미 수집된 데이터에서 전처리를 해야 한다면 여러 방법이 있을 수 있어요.

1) 주소 관련 API를 사용해서 주소 값을 보정해 줍니다.

예를 들면 해당 주소를 네이버나 카카오 API로 검색해서 제대로 된 주소로 변경해 주는 것인데 이건 API 에 대한 사용법을 추가적으로 익혀봐야해요. 또 API를 사용하려면 해당 서비스로 부터 API 키를 발급받는 과정 등이 필요하고요.

 

2) 도로명, 길 등이 들어간다면 주소를 split 으로 나누어서 해당 주소가 "길" 로 끝나는지 "동"으로 끝나는지 등을 확인해 볼 수 있을거 같습니다. 텍스트 데이터는 예외가 많기 때문에 해당 조건 등을 고려할 필요가 있습니다. 그래서 현업에서 해당 작업을 하게 된다면 여러 예외를 문서화 하고 하나씩 적용하면서 전처리할 필요가 있습니다. 

 

3) 현재 주어진 데이터로 해보는 방법은 일단 주소를 split()으로 나누고 endswith 구문을 통해 "길" 혹은 "로"로 끝나는지 여부를 확인 한다든지 아니면 "동, 면, 읍, 리" 등으로 끝나는지 확인하는 작업을 해볼 수 있습니다.