[python] Bokeh를 이용한 배달 음식 주문 통계 시각화

이번 포스트에서는 Python의 데이터 시각화 라이브러리인 Bokeh를 사용하여 배달 음식 주문 통계를 시각화해보겠습니다.

Bokeh 소개

Bokeh는 Python에서 데이터 시각화를 위해 사용되는 인기있는 라이브러리 중 하나입니다. Bokeh는 웹 브라우저에서 다양한 형식의 시각화를 생성할 수 있으며, 인터랙티브한 기능을 제공합니다. Bokeh는 간편한 사용법과 다양한 기능으로 데이터 시각화에 많이 활용되고 있습니다.

데이터 준비

먼저, 배달 음식 주문 데이터를 준비해야 합니다. 이 예제에서는 CSV 파일 형식의 데이터를 사용합니다. 데이터에는 주문 일자, 음식 종류, 주문 수량 등의 정보가 포함되어 있어야 합니다.

import pandas as pd

# 데이터 로드
data = pd.read_csv('주문데이터.csv')

데이터 가공

Bokeh는 시각화를 위해 데이터를 적절한 형식으로 가공해야 합니다. 이 예제에서는 음식 종류별로 주문 수량의 합계를 계산하여 데이터를 가공하겠습니다.

# 음식 종류별 주문 수량 계산
order_counts = data.groupby('음식종류')['주문수량'].sum().reset_index()

Bokeh로 시각화하기

이제 Bokeh를 사용하여 데이터를 시각화해보겠습니다. 주문 수량이 많은 음식종류를 막대 그래프로 표현하겠습니다.

from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.models import ColumnDataSource, HoverTool

# 출력 결과를 Jupyter notebook에 표시
output_notebook()

# 시각화를 위한 데이터 포맷 설정
source = ColumnDataSource(order_counts)

# figure 객체 생성
p = figure(x_range=order_counts['음식종류'], plot_height=400, title='음식 종류별 주문 수량')

# 막대 그래프 생성
p.vbar(x='음식종류', top='주문수량', width=0.9, source=source, legend_field='음식종류', line_color='white')

# 툴팁 설정
hover = HoverTool(tooltips=[('음식종류', '@음식종류'), ('주문 수량', '@주문수량')])

# 툴팁 추가
p.add_tools(hover)

# 그래프 보여주기
show(p)

결과 확인

위 코드를 실행하면 Bokeh를 사용한 배달 음식 주문 통계 시각화가 웹 브라우저에서 출력됩니다. 막대 그래프는 음식 종류별 주문 수량을 시각적으로 보여주고, 마우스를 올리면 툴팁으로 음식 종류와 주문 수량을 확인할 수 있습니다.

마무리

이번 포스트에서는 Bokeh를 사용하여 배달 음식 주문 통계를 시각화하는 방법을 알아보았습니다. Bokeh를 활용하면 데이터 시각화를 더욱 높은 수준으로 표현할 수 있습니다. Bokeh의 다양한 기능을 활용하여 더욱 흥미로운 시각화를 만들어보세요.

참고 자료