Hello there, ('ω')ノ
📌 1. ダッシュボードとは?
ダッシュボードとは、データを視覚的に整理し、リアルタイムで操作できるインターフェース です。
✅ データの全体像を直感的に把握できる
✅ インタラクティブに操作でき、ユーザーが自由に分析できる
✅ リアルタイムデータと連携できる(売上・アクセス数・市場動向など)
📌 ダッシュボードの活用例
用途 | 説明 |
---|---|
ビジネスの売上分析 | 期間別の売上推移、商品カテゴリ別の売上、顧客層の分析 |
マーケティング分析 | SNSの投稿分析、クリック率のトラッキング、キャンペーン効果の可視化 |
Kaggleコンペのデータ分析 | モデルの精度比較、特徴量の影響度の可視化 |
📌 2. Streamlit を使ってダッシュボードを作成
Streamlit(ストリームリット)は、Pythonだけで簡単にWebアプリを作れるライブラリ です!
✅ コードを書く感覚でダッシュボードを作れる!
✅ ボタン・スライダー・フィルターなどのUIを簡単に追加!
✅ データフレームやグラフをリアルタイム表示!
✅ (1) Streamlitのインストール
まずは Streamlit をインストールします。
pip install streamlit pandas matplotlib plotly
✅ (2) シンプルなダッシュボードを作成
app.py
という Python ファイルを作成し、以下のコードを記述します。
※Google Colab で streamlit を直接実行することはできません。
import streamlit as st import pandas as pd import plotly.express as px # タイトル st.title("売上ダッシュボード") # データの読み込み @st.cache_data # キャッシュを有効にする(動作を高速化) def load_data(): df = pd.read_csv("sales_data.csv") # 売上データ return df df = load_data() # データの表示 st.dataframe(df.head()) # グラフ(売上の推移) fig = px.line(df, x="Date", y="Sales", title="売上推移") st.plotly_chart(fig) # 地域ごとの売上 fig2 = px.bar(df, x="Region", y="Sales", color="Region", title="地域別売上") st.plotly_chart(fig2)
✅ (3) ダッシュボードを実行
streamlit run app.py
ブラウザで http://localhost:8501 にアクセスすると、ダッシュボードが表示されます! 🚀
✅ 売上データの一覧が表示される!
✅ 折れ線グラフで売上推移を可視化!
✅ 地域別の売上を棒グラフで比較!
📌 3. インタラクティブなフィルターを追加
Streamlit では、ユーザーが フィルターを操作してデータを分析 できます。
例えば、「特定の地域の売上だけを表示する」フィルターを追加してみましょう。
# 地域を選択できるドロップダウンメニュー region = st.selectbox("地域を選択", df["Region"].unique()) # 選択された地域のデータを表示 filtered_df = df[df["Region"] == region] # フィルタ後のデータ表示 st.dataframe(filtered_df) # フィルタ後の売上推移グラフ fig = px.line(filtered_df, x="Date", y="Sales", title=f"{region}の売上推移") st.plotly_chart(fig)
✅ ユーザーがドロップダウンで地域を選択できる!
✅ 選択した地域の売上データが表示される!
✅ 選択した地域の売上推移グラフが動的に変わる!
➡ インタラクティブな操作で、より深いデータ分析が可能!
📌 4. KPI(重要指標)を表示
ダッシュボードには、売上や利益のKPI(Key Performance Indicator) を表示すると便利です。
# 売上の合計と平均 total_sales = df["Sales"].sum() average_sales = df["Sales"].mean() # KPIを表示 st.metric(label="総売上", value=f"{total_sales:,} 円") st.metric(label="平均売上", value=f"{average_sales:.2f} 円")
✅ 総売上と平均売上がダッシュボードに表示される!
✅ 重要なKPIを一目で確認できる!
📌 5. ヒートマップで売上の傾向を分析
ヒートマップを使うと、売上の時間的な傾向 を視覚化できます。
import seaborn as sns import matplotlib.pyplot as plt # 日付を年・月・曜日に分割 df["Year"] = pd.to_datetime(df["Date"]).dt.year df["Month"] = pd.to_datetime(df["Date"]).dt.month df["Weekday"] = pd.to_datetime(df["Date"]).dt.day_name() # 月ごとの売上ヒートマップ pivot_table = df.pivot_table(index="Month", columns="Year", values="Sales", aggfunc="sum") # ヒートマップを作成 plt.figure(figsize=(8, 5)) sns.heatmap(pivot_table, annot=True, fmt=".0f", cmap="coolwarm") st.pyplot(plt)
✅ 月ごとの売上の変化を視覚化!
✅ どの月に売上が伸びているか、一目で分かる!
📌 6. 地図データを表示
売上データに 緯度・経度(Latitude, Longitude) を追加すれば、地図上にプロットできます!
# 地図を表示 st.map(df[["Latitude", "Longitude"]])
✅ 店舗ごとの売上データをマップで可視化!
✅ 地域ごとの売上の偏りを発見!
📌 7. Streamlitで作れるダッシュボードの応用例
📌 他にも、こんなダッシュボードを作れます!
用途 | 例 |
---|---|
株価分析 | 株価の時系列グラフ、移動平均、ボラティリティの可視化 |
マーケティングダッシュボード | SNS投稿数の推移、クリック率の分析 |
Kaggleコンペのモデル評価 | 精度の比較、特徴量の重要度グラフ |
➡ あらゆるデータ分析に応用可能! 🚀
🎯 まとめ
✅ Streamlitを使うと、簡単にダッシュボードが作れる!
✅ Plotly・Seabornでグラフを作成し、データを可視化!
✅ フィルター・KPI・ヒートマップ・地図を追加して、インタラクティブな分析が可能!
✅ ビジネス・マーケティング・データサイエンスに応用できる!
Best regards, (^^ゞ