Mini_Project_4

임성진·2024년 2월 3일
0

Mini Project

목록 보기
4/4

주소 데이터 분석

  • 사용 데이터 : 커피빈 지점 정보 데이터 파일
  • 형태가 다른 여러 개의 csv 파일 처리 방법 실습
  1. 데이터 읽어와 확인
import pandas as pd
CB = pd.read_csv('/content/drive/MyDrive/AI스쿨 파일/CoffeeBean.csv',encoding='cp949', index_col=0, header=0, engine='python')
CB.head()
  • encoding='cp949' : 한글 읽어올 때 주로 사용
  • index_col=0 : 데이터프레임의 첫 번째 열을 인덱스로 지정
  • header=0 : 데이터프레임의 첫 번째 행을 열 이름으로 사용
  • engine='python': CSV 파일을 읽는 엔진으로 Python을 사용
  1. 주소 컬럼의 요소를 공백 기준으로 분리해 리스트로 저장
addr = []
for address in CB.address:
    addr.append(str(address).split())

print(f'데이터 개수 : {len(addr)}')
addr


3. 행정구역이름을 모두 표준으로 통일 & 데이터프레임 형성

addr2 = []

# addr에서 행정구역 이름 표준이 아닌 것 수정하기
for i in range(len(addr)):
    if addr[i][0] == '서울': addr[i][0] == '서울특별시'
    elif addr[i][0] == "서울시": addr[i][0]="서울특별시"
    elif addr[i][0] == "부산시": addr[i][0]="부산광역시"
    elif addr[i][0] == "인천": addr[i][0]="인천광역시"
    elif addr[i][0] == "광주": addr[i][0]="광주광역시"
    elif addr[i][0] == "대전시": addr[i][0]="대전광역시"
    elif addr[i][0] == "울산시": addr[i][0]="울산광역시"
    elif addr[i][0] == "세종시": addr[i][0]="세종특별자치시"
    elif addr[i][0] == "경기": addr[i][0]="경기도"
    elif addr[i][0] == "충북": addr[i][0]="충청북도"
    elif addr[i][0] == "충남": addr[i][0]="충청남도"
    elif addr[i][0] == "전북": addr[i][0]="전라북도"
    elif addr[i][0] == "전남": addr[i][0]="전라남도"
    elif addr[i][0] == "경북": addr[i][0]="경상북도"
    elif addr[i][0] == "경남": addr[i][0]="경상남도"
    elif addr[i][0] == "제주": addr[i][0]="제주특별자치도"
    elif addr[i][0] == "제주도": addr[i][0]="제주특별자치도"
    elif addr[i][0] == "제주시": addr[i][0]="제주특별자치도"

    addr2.append(' '.join(addr[i]))

addr2 = pd.DataFrame(addr2, columns=['address2'])
addr2


4. 데이터프레임 합치기

CB2 = pd.concat([CB, addr2], axis=1)  # 옆(가로)(으)로 합치기 의미
CB2.head()


5. 지도 시각화

CB_geoData = pd.read_csv('/content/drive/MyDrive/AI스쿨 파일/CB_geo_sph_2.csv', encoding='utf8', engine='python')
len(CB_geoData)

map_CB = folium.Map(location=[37.560284, 126.975334],zoom_start = 15)
for i, store in CB_geoData.iterrows():
    folium.Marker(location=[store['_Y'], store['_X']], popup=store['store'], icon=folium.Icon(color='red',icon='star')).add_to(map_CB)

map_CB.save('/content/drive/MyDrive/AI스쿨 파일/map_CB.html')

0개의 댓글