У меня есть фрейм данных, который содержит названия стран и городов
from bokeh.io import curdoc
from bokeh.layouts import row, column, widgetbox,layout
from bokeh.models import ColumnDataSource, Select
import pandas as pd
df = pd.DataFrame()
df['City'] = ['None', 'Paris', 'Lione', 'Rome','Milan', 'Madrid', 'Barcelona' ]
df['Country'] = ['None', 'France', 'France', 'Italy', 'Italy', 'Spain', 'Spain']
Я хотел бы иметь два виджета, один для стран, а другой для городов.
select_country = Select(title="Country", options=list(df['Country']), value = '')
select_city = Select(title = 'City', value = '', options = list(df['City']))
Iхотел бы изменить параметры в городе, если я выберу другой Country
def update_layout(attr, old, new):
country_selected = select_country.value
tmp = df[df['Country']==country_selected]
select_city = Select(title = 'City', value = '', options = list(tmp['City']))
controls = widgetbox(select_country, select_city)
select_country.on_change('value', update_layout)
select_city.on_change('value', update_layout)
layout = column(row(controls))
curdoc().add_root(layout)