Uber Visualization 팀이 개발한 지리데이터 시각화 도구인 Kepler 를 Jupyter Notebook 상에서 사용하는 방법에 대한 글 입니다. Kepler는 지리 데이터를 시각화 하기 좋은 소프트웨어 인데요. 특히 시간에 따라 변하는 공간 데이터를 분석할 때 아주 강력한 툴입니다.
Kepler를 사용한 지리데이터 분석 과정은 이곳 에 잘 정리되어 있습니다. 오늘은 Kepler를 Jupyter Notebook에 연동해 사용하는 방법 위주로 포스팅하겠습니다.
먼저, kepleregl
라이브러리를 다운받습니다.
pip install keplergl
nodejs
를 다운받습니다.
pip install nodejs
다음은 jupyter labextension
을 설치합니다.
jupyter labextension install @jupyter-widgets/jupyterlab-manager keplergl-jupyter
New York City Taxi Fare Prediction 에서 사용된 데이터를 Kepler 를 활용해 Jupyter Notebook 상에서 분석해보겠습니다.
import pandas as pd
data = pd.read_csv('../data/train.csv')
sampled_data = data.iloc[:10000,2:5]
데이터는 아래와 같은 구조를 띄고 있는데요. pickup_datetime, pickup_longitude, puckup_latitude
열을 사용해서 택시 수요를 시각화 해보려고 합니다.
앞서 설치했던 keplergl
라이브러리를 불러온 후 데이터를 입력해줍니다.
from keplergl import KeplerGl
map_1 = KeplerGl(height=500)
map_1.add_data(sampled_data)
map_1
kepler를 jupyter notebook 상에 띄울 수 있습니다.
시간에 따라 변화하는 지역별 택시 수요를 Heatmap
으로 시각화 해보겠습니다. 데이터 시각화 방법을 Heapmap 으로 설정해줍니다.
색, Heatmap 크기 등을 조정해줍니다.
다음은 필터를 설정해줘야 하는데요. 우리는 시간
에 따라 변화하는 지역별 택시 수요를 관찰할 예정이니 pickup_datetime
을 필터로 걸어줍니다. 이후 우측 하단에 있는 창에서 시간 범위와 속도를 조절할 수 있습니다.
완성되었습니다. 결과물을 확인해봅시다.
시각화 결과물을 저장할 수도 있습니다.
map_1.save_to_html(file_name="test.html", )