You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame列项设为ipywidgets下拉选单选项?

用ipywidgets下拉框实现香水推荐的交互式选择

直接将DataFrame目标列的内容作为下拉框选项,绑定交互逻辑即可,具体代码如下:

import ipywidgets as widgets
from IPython.display import display

# 创建下拉框,选项为DataFrame中Name列的内容
perfume_dropdown = widgets.Dropdown(
    options=name_df['Name'].tolist(),  # 把Name列转为列表作为下拉选项
    value='Sola Parfum',  # 设置默认选中的香水
    description='选择香水:',
    disabled=False,
)

# 定义选择后的推荐处理函数
def on_perfume_selected(change):
    input_perfume = change['new']
    # 执行原有推荐逻辑
    recommendations = pd.DataFrame(name_df.nlargest(6, input_perfume)['Name'])
    recommendations = recommendations[recommendations['Name'] != input_perfume]
    print(f"基于 {input_perfume},为你推荐以下5款香水: ")
    print(recommendations)

# 绑定下拉框的选中值变化事件
perfume_dropdown.observe(on_perfume_selected, names='value')

# 显示下拉框组件
display(perfume_dropdown)

代码说明:

  • options=name_df['Name'].tolist():直接提取DataFrame中Name列的所有内容作为下拉选项,无需手动维护选项列表
  • observe方法监听下拉框选中值的变化,自动触发处理函数更新推荐结果
  • 处理函数内复用原有推荐逻辑,将手动赋值的input_perfume替换为下拉框的选中值

内容的提问来源于stack exchange,提问作者user24839487

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:52:06