PySpark의 데이터프레임을 Pandas 데이터프레임으로 변환하려면 toPandas()를 사용합니다:
sample_pd = df.filter(F.col("City") == "WAUKEE").toPandas()
Pandas를 활용하여 데이터를 그룹화하고 요약할 수 있습니다:
WAUKEE_pd = (
sample_pd
.groupby("Date") # Date 기준으로 그룹화
.sum() # 그룹별 합계 계산
.reset_index() # 인덱스를 초기화하여 Date 컬럼 유지
)
import plotly.graph_objects as go
# Figure 생성
fig = go.Figure(
data=[go.Line(x=WAUKEE_pd["Date"], y=WAUKEE_pd["BottlesSold"])],
layout=go.Layout(
title=go.layout.Title(text="Bottles Sold Amount at WAUKEE")
)
)
fig.show()
import plotly.express as px
fig = px.line(
x=WAUKEE_pd["Date"],
y=WAUKEE_pd["BottlesSold"],
title="Bottles Sold Amount at WAUKEE"
)
fig.show()
| Graph Objects | Express |
|---|---|
| 세부적으로 커스터마이징 가능 | 간단한 코드로 빠른 시각화 |
| 복잡한 레이아웃 구성 가능 | 제한적인 커스터마이징 지원 |
Pandas 기본 시각화 옵션을 Plotly로 설정하여 손쉽게 그래프를 생성할 수 있습니다:
import pandas as pd
# Plotly를 Pandas의 시각화 백엔드로 설정
pd.options.plotting.backend = "plotly"
# Plotly로 히스토그램 생성
WAUKEE_pd["BottlesSold"].hist()
이번 포스팅에서는 PySpark 데이터를 Pandas로 변환하고 Plotly를 활용하여 데이터를 시각화하는 과정을 살펴보았습니다. PySpark는 대규모 데이터를 처리하는 데 강력하지만, Pandas와 Plotly는 소규모 데이터를 상세히 분석하고 시각화하는 데 매우 유용합니다.
Plotly를 활용하면 대화형 그래프를 통해 데이터를 더 직관적으로 탐색할 수 있으며, Dash와 같은 확장 도구를 사용하면 웹 애플리케이션 형태로 데이터 시각화를 배포할 수도 있습니다.