2016-05-26 6 views
2

Есть ли хороший способ отображения данных с помощью Bokeh? У меня есть куча табличного текста, который я хотел бы отображать и динамически обновлять вместе с некоторыми графиками, но пока не нашел хорошего способа сделать это.Показать рамку данных pandas с помощью Bokeh

ответ

4

Вы должны взглянуть на 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"), 
    ]