일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 푸시푸시
- 데이트
- c
- 파이썬
- 코딩
- python
- 데이터베이스
- mysql docker
- java
- docker
- 알고리즘
- nvidia docker
- 클라우드
- c++
- 자바
- 도커
- elk stack
- 정보처리기사
- 스트림셋이란?
- mysql on docker
- ansible install
- streamsets 강의
- 도커 elk
- MySQL
- C언어
- 도커 시작하기
- 앤서블 설치
- 도커 mysql
- 스트림셋
- 백준
- Today
- Total
리그캣의 개발놀이터
[pandas] 매장 주소 보정하기. 본문
기존에 있던 치킨집 매장 주소를 보정하여 보았다.
주소를 보정하여, goobne_modify.csv 파일로 저장
import pandas as pd # 판다스 사용 filename ='goobne.csv' |
판다스 사용하기로 선언
파일이름 선언 (같은 폴더에 넣어놨음)
goobne_table = pd.read_csv(filename, encoding='CP949', index_col=0, header=0) print(goobne_table.sido.unique()) |
from_csv 함수가 에러나서 read_csv로 변환하였음.
print처리 안해주면 확인할수 없어서 print로 확인하여줌.
다음과 같이 확인가능한 것을 볼 수 있음.
print(goobne_table[goobne_table['sido']=='0']) print(goobne_table[goobne_table['sido']=='']) print(goobne_table[goobne_table['sido']==' ']) |
필요한값을 sido로 갖고있는 튜플 찾아보았음.
해당 인덱스 값 갖고있는 튜플제거
goobne_table = goobne_table.drop([473,509,700,839,898]) |
print(goobne_table.sido.unique()) sido_table = pd.read_csv('district.csv', encoding='CP949', index_col=0, header=0) print(sido_table) m = goobne_table.merge(sido_table, on=['sido', 'gungu'], how='outer', suffixes=['', '_'], indicator=True) m_result = m.query('_merge=="left_only" ') print(m_result) |
행정구역 데이터를 이용하여 행정구역 데이터 보정.
잘못된 행정구역 찾기
91 일도동광초점 제주도 제주시 제주도 제주시 연수로3길 7 1층 92 오라점 제주도 제주시 제주도 제주시 오라삼동 2995-1, 지하 149 호매실점 경기도 수원시권선구 경기도 수원시권선구 서수원로523번길 30-35, 101호 150 오목천점 경기도 수원시권선구 경기도 수원시권선구 오목천로 31 203 하복대점 충청북도 청주시흥덕구 충청북도 청주시흥덕구 죽천로 120 204 청주강서지구점 충청북도 청주시흥덕구 충청북도 청주시흥덕구 서현북로 24 205 오송점 충청북도 청주시흥덕구 충청북도 청주시흥덕구 만수길 14-4 246 표선점 제주도 서귀포시 제주도 서귀포시 표선면 표선중앙로 106 247 제주중문점 제주도 서귀포시 제주도 서귀포시 천제연로 183-1 248 제주동홍점 제주도 서귀포시 제주도 서귀포시 일주동로 8588 249 신시가지점 제주도 서귀포시 제주도 서귀포시 신서귀로 43 250 봄그리고가을리조트 제주도 서귀포시 제주도 서귀포시 성산읍 해맞이해안로 2660, 1층\r\n 251 모슬포점 제주도 서귀포시 제주도 서귀포시 대정읍 화모리 1238-6번지 |
다음과 같이 나옴.
print(m_result[['sido','gungu']]) |
943 경상남도 창원시마산회원구 944 경상남도 창원시마산회원구 945 경상남도 마산회원구 [79 rows x 2 columns] |
잘못된 데이터 찾앗음
gungu_alias = """청주시흥덕구:청주시 여주군:여주시 청주시서원구:청주시 용인시기흥구:용인시 고양시일산서구:고양시 부천시오정구:부천시 천안시동남구:천안시 부강면:세종시 연서면:세종시 창원시진해구:창원시 나리로:세종시 갈매로:세종시 성남시수정구:성남시 청주시상당구:청주시 전의면:세종시 조치원읍:세종시 전주시완산구:전주시 창원시마산합포구:창원시 당진군:당진시 안산시단원구:안산시 부천시소사구:부천시 안산시상록구:안산시 수원시장안구:수원시 고양시일산동구:고양시 천안시서북구:천안시 안양시동안구:안양시 부천시원미구:부천시 전주시덕진구:전주시 포항시북구:포항시 창원시마산회원구:창원시 창원시성산구:창원시 안양시만안구:안양시 포항시남구:포항시 수원시권선구:수원시 고양시덕양구:고양시 청원군:청주시 용인시수지구:용인시 수원시영릉구:수원시 청주시청원구:청주시 성남시분당구:성남시 용인시처인구:용인시 수원시팔달구:수원시 누리로:세종시 도움3로:세종시 보듬3로:세종시 성남시중원구:성남시 수원시영통구:수원시 마산회원구:마산시 창원시의창구:창원시 """ gungu_dict = dict() for aliasset in gungu_alias.split(): s = aliasset.split(':') gungu_dict.update({s[0]: s[1]}) goobne_table.gungu = goobne_table.gungu.apply(lambda v: gungu_dict.get(v,v)) m = goobne_table.merge(sido_table, on= ['sido', 'gungu'], how='outer', suffixes=['', '_'], indicator=True) m_result = m.query('_merge =="left_only"') print("여기서 수정해야함") print(m_result[['sido','gungu']]) |
에러나서 다음과 같이 수정하였음
print로 해당 좌표찍으면서 수정하여 완료
goobne_table.to_csv('goobne_modify.csv', encoding="euc-kr", mode='a', header=False) |
다음과 같이 사용할시 csv파일 상측이 깨지는 현상이 발생됩니다. 해당현상은 해결하지 못하였습니다.
'개발 공부 > Python(웹)' 카테고리의 다른 글
flask와 mysql을 docker container 환경에서 연동해보기 (0) | 2020.08.13 |
---|---|
[Follium] 사용하여 주소를 맵에 표시 (0) | 2018.05.16 |
[Python] Facebook Page Crawler 만들기 (2) | 2018.04.06 |