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

如何获取下拉框选中值?Gradio集成EDA模块遇更新失效问题

问题修复方案

你的代码存在三个关键问题,导致下拉框切换无反应,逐个修正如下:

  • 缺少目标Textbox组件:你需要将EDA结果更新到gr.Textbox,但代码里完全没创建这个组件,Gradio找不到要更新的对象。
  • 回调函数错误直接赋值.value:Gradio的组件更新逻辑依赖函数返回值,不能在回调里直接给resultados_eda.value赋值,必须把结果return出去。
  • 事件绑定的outputs参数错误:你写的variable_objetivo.value完全不符合要求,应该指定要更新的Textbox组件实例。

修正后的完整代码:

import json  # 如果需要格式化字典显示,可导入

eda = EDA(df=df, target=None)

def update_target_and_textbox(selected_value):
    print(selected_value)
    eda.new_target(new_target=selected_value)
    # 若需格式化字典显示,替换成 return json.dumps(eda.introductory_results(), indent=2)
    return eda.introductory_results()

# Gradio interface
with gr.Blocks(css="Gradio/styles.css", title="0Accidentes") as demo:
    gr.Markdown("""![](file/Gradio/logo_lis.svg) 0Accidentes""", elem_classes="cabecero")

    with gr.Tab("EDA"):
        with gr.Row():
            with gr.Column(scale=1):
                variable_objetivo = gr.Dropdown(label="Variable Objetivo", choices=sorted(list(df.columns)))
                # 新增用于显示EDA结果的Textbox组件
                resultados_eda = gr.Textbox(label="EDA数据集信息", lines=10)
                # 正确绑定事件:输入为下拉框,输出为Textbox
                variable_objetivo.change(update_target_and_textbox, inputs=variable_objetivo, outputs=resultados_eda)

demo.launch()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:42:04