web-dev-qa-db-ja.com

pandasデータフレームをBokehで表示する

Bokehでデータフレームを表示する良い方法はありますか?いくつかのグラフと一緒に表示して動的に更新したいテーブルベースのテキストがたくさんありますが、これを行うための良い方法はまだ見つかりません。

8
helloB

Bokeh.models.widgets.DataTable( http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#data-table )を確認する必要があります

例:

from datetime import date
from random import randint

from bokeh.models import ColumnDataSource
from bokeh.models.widgets import DataTable, DateFormatter, TableColumn
from bokeh.io import output_file, show, vform

output_file("data_table.html")

data = dict(
        dates=[date(2014, 3, i+1) for i in range(10)],
        downloads=[randint(0, 100) for i in range(10)],
    )
source = ColumnDataSource(data)

columns = [
        TableColumn(field="dates", title="Date", formatter=DateFormatter()),
        TableColumn(field="downloads", title="Downloads"),
    ]
data_table = DataTable(source=source, columns=columns, width=400, height=280)

show(vform(data_table))

次のように、独自のDataFrameとデータを交換できます。

data = dict(df[['first', 'second']])

列名が異なる場合は、列変数を次のように変更してください。

columns = [
        TableColumn(field="first", title="First"),
        TableColumn(field="second", title="Second"),
    ]
7
Nils

Pandas DataFrame DFをBokehのテーブルに変換するには、リスト内包表記を使用してテーブルを設定できます。

from bokeh.models.widgets import DataTable, DateFormatter, TableColumn

Columns = [TableColumn(field=Ci, title=Ci) for Ci in DF.columns] # bokeh columns
data_table = DataTable(columns=Columns, source=ColumnDataSource(DF)) # bokeh table

show(data_table)

これは、Bokeh列をDF列名と一致させる必要があることを前提としていますが、必要に応じて簡単に変更できます。

3
Q-man
0
Luke Canavan