IPython新手求助:Combobox无法显示DataFrame列唯一值选项
解决Combobox无法显示DataFrame列唯一值的问题
给你几个实用的排查和解决步骤,挨个试:
先清掉空值:如果你的
df['col']里有NaN,unique()会把它也放进选项里,Combobox对空值兼容不好,先过滤掉:# 过滤空值后转成列表 unique_options = df['col'].dropna().unique().tolist() my_search_box = widgets.Combobox( value='X', placeholder='Choose', options=unique_options, description='Combobox:', ensure_option=True, disabled=False )转成字符串类型:如果列里是数字、日期这类非字符串值,Combobox可能渲染不出来,强制转成字符串试试:
unique_options = df['col'].dropna().unique().astype(str).tolist() my_search_box = widgets.Combobox( value='X', placeholder='Choose', options=unique_options, description='Combobox:', ensure_option=True, disabled=False )分开赋值options:有时候初始化时传options不生效,先创建组件再单独赋值:
my_search_box = widgets.Combobox( value='X', placeholder='Choose', description='Combobox:', ensure_option=True, disabled=False ) # 单独给options赋值 my_search_box.options = df['col'].dropna().unique().astype(str).tolist()升级ipywidgets:老版本可能有bug,执行下面的命令升级:
pip install --upgrade ipywidgets jupyter nbextension enable --py widgetsnbextension
最后别忘了用display(my_search_box)把组件显示出来,不然你看不到效果!
内容的提问来源于stack exchange,提问作者mkoall
相关产品推荐
相关产品推荐

