以前作成したplotlyの基本に関する記事の応用編となります。以前の記事のリンク先はこちらです。
今回は、go.Table()を使ったテーブルの作成方法について解説します。
メソッド
使用するメソッドは下記の通りです。
go.Table(header = dict(values=1次元配列), cells = dict(values=2次元配列))
公式ドキュメントのリンク先はこちらです。パッケージのドキュメントリンク先はこちらです。
引数
・上記の通り、主に使用する引数は、「header」と「cells」の2つになります。
・これらの引数はともに辞書型で定義する必要があります。
引数1:header=dict(values=一次元配列)
・テーブルのカラム名を定義します。
・dict()関数のキーワード引数valuesに一次元配列で渡します。
引数2:cells=dict(values=二次元配列)
・テーブルの各セルの値を定義します。
・カラムの個数分のリストをvaluesに引き渡します。
・dict()関数のキーワード引数valuesに二次元配列で渡します。
参考例
参考例として3行2列の簡単なテーブルを作成してみます。
3行2列の簡単なテーブルの作成例
import plotly.graph_objects as go
trace = go.Table(header=dict(values=['col1', 'col2']),
cells=dict(values=[['row1-1','row2-1'],['row2-1','row2-2']]))
fig = go.Figure()
fig.add_trace(trace)
fig.show()
次に、列数を1つ増やして3行3列の簡単なテーブルを作成してみます。
3行3列の簡単なテーブルの作成例
import plotly.graph_objects as go
trace = go.Table(header=dict(values=['col1', 'col2', 'col3']),
cells=dict(values=[['row1-1','row2-1'],['row1-2','row2-2'],['row1-3','row2-3']])) # カラムが3個あるので、3つのリストをvaluesに引き渡しています。
fig = go.Figure()
fig.add_trace(trace)
fig.show()
DataFrameを使ってテーブルを作成
DataFrameを使ってテーブルを作成する際のポイントは、カラム名(header)とセル(cells)への入力値のそれぞれに対して下記を留意下さい。
引数1:header=dict(values=df.columns)
・dataframeのカラムを取得してvaluesに引き渡します。
引数2:cells=dict(values=[df.iloc[:,i] for i in range(len(df.columns))])
・dataframeの各列を内包表記を使ってリストに抽出し、valuesに引き渡します。
コード例:日経平均株価テーブルの作成
import yfinance as yf
import pandas_datareader.data as pdr
yf.pdr_override()
import datetime
today = datetime.datetime.now().date()
code = '^N225'
start = today - datetime.timedelta(days=10)
end = today
df = pdr.get_data_yahoo(code,start,end).sort_index().reset_index().round(2)
df['Date'].dt.strftime('%Y年%m月%d日')
header = df.columns
cells = [df.iloc[:,i] for i in range(len(df.columns))]
import plotly.graph_objects as go
fig = go.Figure()
trace = go.Table(header=dict(values=header),
cells=dict(values=cells))
fig.add_trace(trace)
fig.show()
コメント