
Import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score,mean_absolute_error
import scipy.stats as stats
import math
import warnings
import folium
from folium.plugins import MarkerCluster
# 샘플링 (예: 1000개의 무작위 샘플)
df_sample = df.sample(n=1000, random_state=42)
# 지도 중심 좌표 계산 (샘플 데이터의 평균값)
center_lat = df_sample['latitude'].mean()
center_lon = df_sample['longitude'].mean()
# 지도 생성
m = folium.Map(location=[center_lat, center_lon], zoom_start=12)
# 클러스터 생성
marker_cluster = MarkerCluster(name='모든 마커').add_to(m)
# 마커 추가 (팝업 포함 예시)
for idx, row in df_sample.iterrows():
lat = row['latitude']
lon = row['longitude']
popup_info = folium.Popup(f"""
<b>Index:</b> {idx}<br>
<b>Lat:</b> {lat}<br>
<b>Lon:</b> {lon}
""", max_width=300)
folium.Marker([lat, lon], popup=popup_info).add_to(marker_cluster)
# 레이어 컨트롤 추가 (클러스터 On/Off 가능)
folium.LayerControl().add_to(m)
# 지도 저장
m.save('map.html')
# Jupyter 노트북에서 크게 보기
from IPython.display import IFrame
IFrame('map.html', width=1200, height=800)
import folium
from folium.plugins import MarkerCluster
center_lat = df['latitude'].mean()
center_lon = df['longitude'].mean()
m = folium.Map(location=[center_lat, center_lon], zoom_start=12)
# 마커 클러스터는 쓰지 않고, 점처럼 아주 작게 표시
for idx, row in df.iterrows():
lat = row['latitude']
lon = row['longitude']
folium.CircleMarker(
location=[lat, lon],
radius=1.0, # 점 크기 (작게!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
color='blue', # 외곽선 색
fill=True,
fill_color='blue',
fill_opacity=0.7,
opacity=0.5
).add_to(m)
# 저장 및 보기
m.save('map_dots.html')
# 맨해튼만!!
df_manhattan = df[df['neighbourhood_group_cleansed'] == 'Manhattan']
# 색상 정의! 5단계로 분류 (매우저렴 , 저렴, 중간, 고가, 초고가고가)
def get_color(price):
if price < 80:
return 'green'
elif price < 150:
return 'yellow'
elif price < 300:
return 'orange'
elif price < 600:
return 'red'
else:
return 'purple'
# 지도 중심
center_lat = df_manhattan['latitude'].mean()
center_lon = df_manhattan['longitude'].mean()
m = folium.Map(location=[center_lat, center_lon], zoom_start=13)
# CircleMarker 추가 (색상은 가격에 따라)
for idx, row in df_manhattan.iterrows():
color = get_color(row['price'])
folium.CircleMarker(
location=[row['latitude'], row['longitude']],
radius=1.2, # 작지만 조금 더 잘 보이게
color=color,
fill=True,
fill_color=color,
fill_opacity=0.6,
opacity=0.4
).add_to(m)
# 저장
m.save('manhattan_price_colored.html')
# 웹에서 나타내기 (맨해튼을 가격별로 시각화화)
import webbrowser
webbrowser.open('manhattan_price_colored.html')
오늘 하루종일 붙잡고 있던 시각화 코드
어제오늘은 TIL을 제대로쓸 기력이 없다 진짜 코드만 300줄 짠듯

근데 어

이건아니지

ㅅㅅㅅㅅㅅㅅㅅㅅㅅ미친돌아갔다!!!!!!!!!!!!!!!!!!1