読者のこの記事では、Pythonでdashを使ってCSVファイルから素早くダッシュボードを構築する方法を見ていきます。
DashはPythonのフレームワークで、誰でも簡単にPythonでダッシュボードを作ることができ、直接必要なフロントエンドを扱う必要がないのが特徴です。
Python でダッシュボードを作成する手順
それでは早速、Pythonでdashライブラリを使ってCSVファイルからデータを表示するダッシュボードを作ってみましょう。
この記事もチェック:PythonのPlotlyライブラリを使ってデータを地図上に表示させる方法
ステップ1:Plotlyを使用してデータをプロットする
今回はデータソースに簡単なCSVファイル、つまりCOVID時系列データセットを使用します。
今回はKaggleのこのCOVID-19データセットを使用します。
準備ができたら、使い始めましょう。
プロットの描画には、Pythonのplotlyライブラリを使用します。
pip install plotly
|
それでは、様々な状態の時系列データをプロットしてみましょう。
CSVデータセットからデータを読み込むために、Pandas read_csv()関数を使用します。
たった3行の簡単なコードです。
import plotly.express as px
df = pd.read_csv('covid_19_india.csv')
# Plot the scatterplot using Plotly. We ploy y vs x (#Confirmed vs Date)fig = px.scatter(df, x='Date', y='Confirmed', color='State/UnionTerritory')
fig.update_traces(mode='markers+lines')
fig.show() |
plotlyはデータを見やすく表示してくれるはずです。
では、これをDashアプリケーションでレンダリングしてみましょう。
ステップ 2: Dash を使ってグラフを埋め込む
ダッシュボードアプリケーションをレンダリングするために、Dashを使用します。
このライブラリをインストールします。
pip install dash
|
dash を使って、データをレイアウトしていきます。
その前に、スタイルシート(CSS)を設定して、ページの見栄えを良くしておきましょう!今回はデフォルトのデータを使っています。
今回はdashの公式チュートリアルにあるデフォルトのデータを使用します。
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
import pandas as pd
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
colors = {
'background': '#F0F8FF',
'text': '#00008B'
} |
では、このレイアウトにデータを配置してみましょう。
# Our dataframedf = pd.read_csv('covid_19_india.csv')
fig = px.scatter(df, x='Date', y='Confirmed', color='State/UnionTerritory')
fig.update_traces(mode='markers+lines')
app.layout = html.Div(children=[
html.H1(children='COVID-19 Time Series Dashboard'),
html.Div(children='''
COVID-19 Dashboard: India.
'''),
dcc.Graph(
id='example-graph',
figure=fig
)
]) |
ステップ3:Flaskでアプリケーションサーバを実行する
では、いよいよアプリケーションサーバーを(Flaskを使って)動かしてみましょう。
if __name__ == '__main__':
app.run_server(debug=True)
|
これは、ローカルポート8050でサーバーを起動します。
http://localhost:8050` にアクセスしたときの出力を見てみましょう。

見てわかるように、たった数行のPythonコードで見栄えのするインタラクティブなダッシュボードが出来上がりました。
まとめ
この記事では、Dashを使用してCSVファイルからPythonでダッシュボードを構築する方法を学びました。