来自列唯一值的 Bokeh 下拉菜单选项

Bokeh dropdown menu options from a column unique values

我正在尝试使用 Bokeh 创建下拉菜单。应从列表中添加菜单选项。我已经使用 Bokeh 创建了列表和菜单,但菜单中没有显示任何选项。请给我一些建议如何解决这个问题。谢谢!

数据框:

首先,我从数据框列 "Continent" 创建了选项列表。

options = data['Continent']

def unique(list): 

    # intilize a null list 
    unique_list = [] 

    # traverse for all elements 
    for x in list: 
        # check if exists in unique_list or not 
        if x not in unique_list: 
            unique_list.append(x) 
    # print list 
    for x in unique_list: 
        print(x)

options = unique(data['Continent'])

然后我用散景创建了菜单:

from bokeh.models.widgets import Dropdown
# Import output_file and show from bokeh.io
from bokeh.io import output_file, show
from bokeh.layouts import widgetbox

menu_widget = [options]
menu_dropdown = Dropdown(label = "Menu", menu=menu_widget)
output_file("dropdown.html")
show(widgetbox(menu_dropdown))

问题是菜单中没有显示任何选项(见下图)。

First, I created the list of options from dataframe column "Continent".

如果您使用 Pandas,那么整个代码可以只用 data['Continent'].unique() 替换。如果您不使用 Pandas,则可以使用 list(set(data['Continent']))sorted(set(data['Continent']))

据了解你的 unique 函数 returns None 而不是独特项目列表。

The problem is that no option is displayed in the menu

除了上面返回 None 的问题之外,menu 参数必须是字符串列表或字符串元组列表。但是你传递了一个包含在列表中的列表。相反,请尝试仅使用 menu=options.