[Python] 아파트 유형 지도 시각화

이소티·2023년 6월 30일

python

목록 보기
24/33

# df
df.tail(2)



df.info()



167개의 data가 있어야 하는데 6번째, 7번째 컬럼의 info를 보면 163개의 data만 존재함
따라서 NaN data는 제거




df = df.dropna()
df.info()



data가 163개로 모두 동일하게 맞춰졌다




# df
df.tail(2)

그런데 첫 번째 컬럼 '연번'은 index의 역할을 하니 딱히 필요 없을 것 같음
따라서 del 이용하여 컬럼 삭제



# error

del df["연번"]

하지만 error 발생 ! 다시 한 번 columns을 살펴보자




df.columns

자세히 살펴보니 한 칸이 띄워져 있다



# 확인

df["연번 "]

첫 번째 컬럼과 두 번째 컬럼 띄어쓰기 수정 후 원래 예정대로 삭제




df = df.rename(columns={"연번 ": "연번", "분류 ": "분류"})
df.연번[:10]

df.tail(2)





이제 위도, 경도 데이터를 이용하여 지도에 시각화해보자 !

(단, 일정 세대수 이상은 따로 표시하자)




df.describe()

세대수 50% 값인 199를 이용





m = folium.Map(location=[37.50589466533131, 126.93450729567374], zoom_start=13)

for idx, rows in df.iterrows():
    
    # location 
    lat, lng = rows.위도, rows.경도
    
    # Marker 
    folium.Marker(
        location=[lat, lng],
        popup=rows.주소,
        tooltip=rows.분류, 
        icon=folium.Icon(
            icon="home",
            color="lightred" if rows.세대수 >= 199 else "lightblue",
            icon_color="darkred" if rows.세대수 >= 199 else "darkblue",
        )
    ).add_to(m)

    # CircleMarker
    folium.Circle(
        location=[lat, lng],
        radius=rows.세대수 * 0.5, # 너무 원이 커서 좀 줄였음
        fill=True, 
        color="pink" if rows.세대수 >= 518 else "green",
        fill_color="pink" if rows.세대수 >= 518 else "green",
    ).add_to(m)
    
m   

profile
데이터 관련 학습 일지

0개의 댓글