plt.rc('font', family='AppleGothic')
plt.rc('axes', unicode_minus=False)
%matplotlib inline
# 글씨를 선명하게 하기 위해 retina 설정
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('retina')
# '결측치 수' 컬럼을 기준으로 내림차순 정렬
df_null_count.sort_values(by='결측치 수', ascending=False)
df = df.drop(drop_columns, axis=1)
# 제거할 데이터 지정하기("의원")
drop_rows2 = df_seoul_hospital[df_seoul_hospital['상호명'].str.endswith('의원')].index
# 상호명에 '종합병원'이라는 문구가 들어가지 않은 데이터만 가져오기
df_seoul_hospital.loc[~df_seoul_hospital['상호명'].str.contains('종합병원'), '상호명'].unique()
df['위도'].describe()
# 구별 데이터 개수를 barplot으로 나타내기
df_seoul['시군구명'].value_counts().plot.bar(rot=60)
# 구별 데이터 개수를 seaborn을 활용해 countplot으로 나타내기
plt.figure(figsize=(15,6))
sns.countplot(data=df_seoul, x='시군구명', order=df_seoul['시군구명'].value_counts().index)
# 서울시의 구별 위경도를 scatter plot으로 나타내기
df_seoul[['위도', '경도', '시군구명']].plot.scatter(x='경도', y='위도', figsize=(10,8), grid=True)
# 서울시의 구별 위경도를 seaborn을 활용해 scatterplot으로 나타내기
plt.figure(figsize=(10,7))
sns.scatterplot(data=df_seoul, x='경도', y='위도', hue='시군구명')
marker가 있는 지도 나타내기
import folium
map = folium.Map(location=[df_sliver_care['위도'].mean(), df_sliver_care['경도'].mean()], zoom_start=7)
for i in df_sliver_care.index:
name = df_sliver_care['상호명'][i]
address = df_sliver_care['도로명주소'][i]
popup = f"상호명: {name}, 도로명주소: {address}"
location = [df_sliver_care['위도'][i], df_sliver_care['경도'][i]]
folium.Marker(location=location, popup=popup).add_to(map)
map
MarkerCluster를 활용해서 지도나타내기
import folium
from folium import Marker
from folium.plugins import MarkerCluster
map = folium.Map(location=[df_sliver_care['위도'].mean(), df_sliver_care['경도'].mean()], zoom_start=7)
mc = MarkerCluster()
for i in df_sliver_care.index:
name = df_sliver_care['상호명'][i]
address = df_sliver_care['도로명주소'][i]
popup = f"상호명: {name}, 도로명주소: {address}"
location = [df_sliver_care['위도'][i], df_sliver_care['경도'][i]]
mc.add_child(Marker(location=location, popup=popup))
mc.add_to(map)
map