Использование bokeh в первый раз, пытаясь создать нечто очень похожее на это: https://demo.bokeh.org/export_csv (ссылка на исходный код https://github.com/bokeh/bokeh/blob/master/examples/app/export_csv/main.py) в галерее. За исключением того, что я хочу использовать виджет выбора вместоползунок, и я хочу показать и скрыть столбцы вместо строк.
Мои данные выглядят примерно так:
Name A B
x 1 2
y 3 4
, и когда пользователь выбирает AI, он должен отображаться
Name A
x 1
y 3
Но сейчас мой код по-прежнему показывает все столбцы при использовании Select, но все столбцы, которые не были выбраны, имеют значение NaN. Так, например, если был выбран A, фактический результат равен
Name A B
x 1 NaN
y 3 NaN
, и если B былвыбрал
Name A B
x NaN 2
y NaN 4
Вот мой код пока что
import pandas as pd
from bokeh.layouts import row, column
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import Select,DataTable,TableColumn,NumberFormatter
from bokeh.io import curdoc, output_file, show
from bokeh.layouts import widgetbox
def update():
element_selected=select.value
current=df.loc[:,["Run",element_selected]]
source.data=current
df = pd.read_csv('BokehTest.csv')
source = ColumnDataSource(data=df)
columns=[]
list_of_cols=df.columns.tolist()
for col in list_of_cols:
if df[col].dtype=='float64':
columns.append(TableColumn(field=col, title=col, formatter=NumberFormatter(format="0.00")))
else:
columns.append(TableColumn(field=col, title=col))
data_table = DataTable(source=source, columns=columns, width=1500, height=500)
select = Select(title="Option:", value="9Be", options=list_of_cols)
select.on_change('value', lambda attr, old, new: update())
curdoc().add_root(row(select,data_table))
curdoc().title='Bokeh'
update()
бонусных очков, если вы можете сказать мне, почему название не появляется, но я думаю, что это как-то связано срасположение