可以通过以下步骤实现:
import pandas as pd
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import DataTable, DateFormatter, StringFormatter, NumberFormatter
from bokeh.io import output_notebook, show
data = {'Name': ['John', 'Emma', 'Michael', 'Sophia'],
'Age': [25, 30, 35, 28],
'City': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)
source = ColumnDataSource(data=dict())
columns = []
data_table = DataTable(source=source, columns=columns, editable=True, index_position=-1)
layout = []
for column in df.columns:
source.data[column] = df[column]
if df[column].dtype == 'int64':
formatter = NumberFormatter(format='0,0')
else:
formatter = StringFormatter()
columns.append(TableColumn(field=column, title=column, formatter=formatter))
layout.append(data_table)
output_notebook()
show(layout)
这样,使用for循环在pandas数据帧上创建了一个bokeh data_table,并将其显示在bokeh图表中。
领取专属 10元无门槛券
手把手带您无忧上云