[파이썬] `bokeh`와 `pandas` 통합 사용법

BokehPandas는 데이터 시각화와 데이터 분석을 위한 강력한 Python 라이브러리입니다. Bokeh는 인터랙티브한 시각화를 제공하며, Pandas는 데이터 조작과 분석에 필요한 다양한 기능을 제공합니다. 이 두 라이브러리를 통합하여 데이터 시각화와 분석을 한번에 처리하는 방법에 대해 알아보겠습니다.

1. 필수 패키지 설치

먼저, BokehPandas를 사용하기 위해 필요한 패키지들을 설치해야 합니다. 아래의 명령어를 사용하여 패키지를 설치해주세요.

pip install bokeh pandas

2. 데이터 로딩

Pandas를 사용하여 데이터를 로딩합니다. 예를 들어, CSV 파일로부터 데이터를 로딩한다면 아래와 같은 코드를 사용할 수 있습니다.

import pandas as pd

data = pd.read_csv('data.csv')

3. 데이터 시각화

Bokeh를 사용하여 데이터를 시각화합니다. 예를 들어, Pandas로 로딩한 데이터를 Bokeh를 사용하여 산점도를 그리는 코드는 다음과 같습니다.

from bokeh.plotting import figure, show

# Figure 객체 생성
p = figure(title='Scatter Plot', x_axis_label='X', y_axis_label='Y')

# 데이터를 산점도로 추가
p.circle(data['x'], data['y'])

# 산점도 출력
show(p)

4. 인터랙티브 시각화

Bokeh는 인터랙티브한 시각화를 제공합니다. 예를 들어, Pandas로 로딩한 데이터를 Bokeh를 사용하여 라인 플롯을 그리고 선택한 데이터를 강조하는 코드는 다음과 같습니다.

from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, show
from bokeh.models.tools import HoverTool

# Figure 객체 생성
p = figure(title='Line Plot', x_axis_label='X', y_axis_label='Y')

# 데이터를 ColumnDataSource로 변환
source = ColumnDataSource(data)

# 라인 플롯 그리기
p.line('x', 'y', source=source)

# 마우스 오버 시 데이터 강조
hover_tool = HoverTool(tooltips=[('X', '@x'), ('Y', '@y')], mode='vline')
p.add_tools(hover_tool)

# 시각화 출력
show(p)

5. 추가 기능

BokehPandas는 다양한 기능을 제공합니다. 예를 들어, Pandas로 로딩한 데이터에서 통계량을 계산하고 시각화하는 코드는 다음과 같습니다.

import pandas as pd
from bokeh.plotting import figure, show

# 데이터 로딩
data = pd.read_csv('data.csv')

# 통계량 계산
avg = data.mean()
std = data.std()

# Figure 객체 생성
p = figure(title='Statistics', x_axis_label='Metrics', y_axis_label='Values')

# 막대 차트 그리기
p.vbar(x=['Average', 'Standard deviation'], top=[avg, std], width=0.5)

# 시각화 출력
show(p)

결론

BokehPandas를 통합하여 데이터 시각화와 분석 작업을 유연하게 처리할 수 있습니다. Bokeh는 인터랙티브한 시각화를 제공하며, Pandas는 데이터 조작과 분석에 필요한 다양한 기능을 제공합니다. 이러한 두 라이브러리를 함께 사용하면 데이터를 쉽고 빠르게 시각화하고 분석할 수 있습니다.