Snowflake Notebooks のデータを可視化する

Snowflake Notebooks では、matplotlibやplotlyなど、お気に入りのPython可視化ライブラリを使用して、可視化を開発できます。

このトピックでは、以下のライブラリを使用してノートブックでデータを可視化する方法を説明します。

データセット

このトピックの例では、 Palmerのペンギンデータセット に基づく以下のおもちゃのデータセットを使用します。

species

measurement

adeli

bill_length

37.3

adeli

flipper_length

187.1

adeli

bill_depth

17.7

chinstrap

bill_length

46.6

chinstrap

flipper_length

191.7

chinstrap

bill_depth

17.6

gentoo

bill_length

45.5

gentoo

flipper_length

212.7

gentoo

bill_depth

14.2

このデータセットは、次のコードでノートブックに作成できます。

species = ["adelie"] * 3 + ["chinstrap"] * 3 + ["gentoo"] * 3
measurements = ["bill_length", "flipper_length", "bill_depth"] * 3
values = [37.3, 187.1, 17.7, 46.6, 191.7, 17.6, 45.5, 212.7, 14.2]
df = pd.DataFrame({"species": species,"measurement": measurements,"value": values})
df
Copy

Altairを使った結果を可視化する

Altairは、Streamlitの一部として Snowflake Notebooks、デフォルトでインポートされます。 Snowflake Notebooks、現在Altairバージョン4.0をサポートしています。Altairを使用する際に利用可能な可視化タイプの詳細については、 Vega-Altair: Pythonによる宣言的可視化 をご参照ください。

次のコードは、おもちゃのデータセットを含む df というデータフレーム内のすべての測定値の積み上げ棒グラフをプロットします。

import altair as alt
alt.Chart(df).mark_bar().encode(
    x= alt.X("measurement", axis = alt.Axis(labelAngle=0)),
    y="value",
    color="species"
)
Copy

セルを実行すると、次のような可視化が表示されます。

ペンギンの種類ごとに各測定値を積み重ねた値を示す棒グラフ。

matplotlibで結果を可視化する

matplotlibを使うには、ノートブックにmatplotlibライブラリをインストールしてください:

  1. ノートブックから、 Packages を選択します。

  2. matplotlib ライブラリを探し、インストールするライブラリを選択します。

次のコードは、matplotlibを使って、おもちゃのデータセット df をプロットしたものです。

import matplotlib.pyplot as plt

pivot_df = pd.pivot_table(data=df, index=['measurement'], columns=['species'], values='value')

import matplotlib.pyplot as plt
ax = pivot_df.plot.bar(stacked=True)
ax.set_xticklabels(list(pivot_df.index), rotation=0)
Copy

セルを実行すると、次のような可視化が表示されます。

ペンギンの種類ごとに各測定値を積み重ねた値を示す棒グラフ。

st.pyplot チャート要素の使い方の詳細については、 st.pyplot をご参照ください。

plotlyで結果を可視化する

plotlyを使うには、ノートブック用のplotlyライブラリをインストールしてください:

  1. ノートブックから、 Packages を選択します。

  2. plotly ライブラリを探し、インストールするライブラリを選択します。

次のコードは、おもちゃのデータセット df からペンギンの測定値を棒グラフにしたものです。

import plotly.express as px
px.bar(df, x='measurement', y='value', color='species')
Copy

セルを実行すると、次のような可視化が表示されます。

ペンギンの種類ごとに各測定値を積み重ねた値を示す棒グラフ。

seabornで結果を可視化する

seabornを使うには、ノートブック用のseabornライブラリをインストールする必要があります。

  1. ノートブックから、 Packages を選択します。

  2. seaborn ライブラリを探し、インストールするライブラリを選択します。

次のコードは、おもちゃのデータセット df からペンギンの測定値を棒グラフにしたものです。

import seaborn as sns

sns.barplot(
    data=df,
    x="measurement", hue="species", y="value",
)
Copy

セルを実行すると、以下のような可視化が表示されます。

ペンギンの種類ごとの測定値を示す棒グラフ。

seabornの可視化の例については、seabornの 事例ギャラリー をご参照ください。

Streamlitで結果を可視化する

Streamlitは Snowflake Notebooks でもデフォルトでインポートされます。Streamlitバージョン1.22.0でサポートされているすべてのチャート要素を使用して、折れ線グラフ、棒グラフ、面グラフ、ポイント付きマップを作成できます。 チャート要素 をご参照ください。

注釈

Streamlitチャート要素の中には、Snowflakeでサポートされていないものや、追加条件が適用されるものがあります。 ノートブックでのStreamlitサポート をご参照ください。

おもちゃのデータセット、 df を棒グラフで可視化するには、次のPythonコードを使います。

import streamlit as st

st.bar_chart(df, x='measurement', y='value', color='species')
Copy

両方のセルを実行すると、以下のような可視化が表示されます。

ペンギンの種類ごとに測定値を積み上げた棒グラフ。

次のステップ

  • Streamlitでインタラクティブなデータアプリケーションを構築する方法の詳細をご参照ください。 ノートのストリームリット をご参照ください。