시부야의 공중화장실을 집중해 봤어요.
배경.
나는 의미가 불분명하고 크리스마스 감각이 없고 가벼운 보도를 쓰고 싶다.🙄
실천하다
사용된 데이터 세트
웹 페이지 정보에서 csv 형식의 데이터를 받았습니다.
섭곡에는 모두 82개의 공중화장실이 있는 것 같다.의외로 많다.
차리다
import pandas as pd
import folium
import numpy as np
from geopy.geocoders import Nominatim
from sklearn.cluster import KMeans
데이터 획득
예쁜 데이터라서 예처리는 결손치만 빼면 완성!기차.df = pd.read_csv('131130_public_toilet.csv', usecols=[4,9,12,13])
# 欠損値があればその行を消去
df_d = df.dropna(how='any')
df_r = df_d.reset_index(drop=True)
df.head()
위도 경도 가져오기
# 渋谷の緯度経度を取得
address = 'Shibuya, Tokyo, Japan'
geolocator = Nominatim(user_agent="foursquare_agent")
location = geolocator.geocode(address)
latitude = location.latitude
longitude = location.longitude
print('緯度:{}, 経度:{}'.format(latitude, longitude))
Foruium을 사용하여 Map에 표시
map_shibuya = folium.Map(location=[latitude, longitude], zoom_start=13)
for lat, lng in zip(df_shibuya['緯度'], df_shibuya['経度']):
folium.CircleMarker(
[lat, lng],
radius=5,
color='red',
fill=True,
fill_opacity=0.7,
parse_html=False).add_to(map_shibuya)
map_shibuya
k-means법으로 집합
클러스터 수를 3개로 설정합니다.# Numpyの行列に変換
cust_array = np.array([df_shibuya['緯度'].tolist(),
df_shibuya['経度'].tolist()])
# 行列を転置
cust_array = cust_array.T
kclusters = 3
# K-means実行
pred = KMeans(n_clusters=kclusters).fit_predict(cust_array)
pred
나는 0에서 2까지의 세 개의 집단 번호가 있을 것이라고 생각한다.
데이터 프레임의 열에 추가합니다.# データフレームにクラスタ番号を追加
df_shibuya['cluster_id'] = pred
df_shibuya.head()
클러스터 결과 시각화
3가지 크리스마스 컬러로 장식.# クラスタ番号ごとに色を設定
colors_array = ['red','brown','green']
# add markers to the map
for lat, lon, cluster in zip(df_shibuya['緯度'], df_shibuya['経度'], df_shibuya['cluster_id']):
folium.CircleMarker(
[lat, lon],
radius=5,
popup=cluster,
color=colors_array[cluster-1],
fill=True,
fill_color=colors_array[cluster-1],
fill_opacity=0.7).add_to(map_shibuya)
map_shibuya
이상은 무의미한 집단 분석입니다!
Reference
이 문제에 관하여(시부야의 공중화장실을 집중해 봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nyax/items/1fd73d4c84481b918e83
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사용된 데이터 세트
웹 페이지 정보에서 csv 형식의 데이터를 받았습니다.
섭곡에는 모두 82개의 공중화장실이 있는 것 같다.의외로 많다.
차리다
import pandas as pd
import folium
import numpy as np
from geopy.geocoders import Nominatim
from sklearn.cluster import KMeans
데이터 획득
예쁜 데이터라서 예처리는 결손치만 빼면 완성!기차.
df = pd.read_csv('131130_public_toilet.csv', usecols=[4,9,12,13])
# 欠損値があればその行を消去
df_d = df.dropna(how='any')
df_r = df_d.reset_index(drop=True)
df.head()
위도 경도 가져오기
# 渋谷の緯度経度を取得
address = 'Shibuya, Tokyo, Japan'
geolocator = Nominatim(user_agent="foursquare_agent")
location = geolocator.geocode(address)
latitude = location.latitude
longitude = location.longitude
print('緯度:{}, 経度:{}'.format(latitude, longitude))
Foruium을 사용하여 Map에 표시
map_shibuya = folium.Map(location=[latitude, longitude], zoom_start=13)
for lat, lng in zip(df_shibuya['緯度'], df_shibuya['経度']):
folium.CircleMarker(
[lat, lng],
radius=5,
color='red',
fill=True,
fill_opacity=0.7,
parse_html=False).add_to(map_shibuya)
map_shibuya
k-means법으로 집합
클러스터 수를 3개로 설정합니다.
# Numpyの行列に変換
cust_array = np.array([df_shibuya['緯度'].tolist(),
df_shibuya['経度'].tolist()])
# 行列を転置
cust_array = cust_array.T
kclusters = 3
# K-means実行
pred = KMeans(n_clusters=kclusters).fit_predict(cust_array)
pred
나는 0에서 2까지의 세 개의 집단 번호가 있을 것이라고 생각한다.
데이터 프레임의 열에 추가합니다.
# データフレームにクラスタ番号を追加
df_shibuya['cluster_id'] = pred
df_shibuya.head()
클러스터 결과 시각화
3가지 크리스마스 컬러로 장식.
# クラスタ番号ごとに色を設定
colors_array = ['red','brown','green']
# add markers to the map
for lat, lon, cluster in zip(df_shibuya['緯度'], df_shibuya['経度'], df_shibuya['cluster_id']):
folium.CircleMarker(
[lat, lon],
radius=5,
popup=cluster,
color=colors_array[cluster-1],
fill=True,
fill_color=colors_array[cluster-1],
fill_opacity=0.7).add_to(map_shibuya)
map_shibuya
이상은 무의미한 집단 분석입니다!
Reference
이 문제에 관하여(시부야의 공중화장실을 집중해 봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nyax/items/1fd73d4c84481b918e83텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)