返回数据帧的按钮

时间:2018-01-12 14:06:03

标签: python pandas dataframe button jupyter

我有一个Jupyter笔记本,其中包含一个按钮,一些下拉菜单和一个数据框。实质上,选择是在下拉列表中进行的,单击按钮后,将生成包含在下拉列表中选择的值的数据框。

我的下拉菜单完美无缺。但是,我的按钮不返回数据帧。

以下是我的按钮代码:

 def on_button_clicked(b):
    # some code that creates from dropdown selections, x. 

    df = pd.DataFrame(x, index=index,columns=['Pilot', 'Baseline', 'Change'])
    return(df)


 button.on_click(on_button_clicked)
 display(button)

为什么数据帧不会简单地返回?我之前尝试过使用display(df),但每次单击按钮时,每次都会打印一个数据帧。

我只是希望在单击按钮时根据用户选择更改数据框。有关如何处理此问题的任何提示?感谢。

1 个答案:

答案 0 :(得分:0)

解决。使用with out:按钮的输出可以动态地改变,即数据帧基于用户选择而改变。

就我而言,我用过:

out = widgets.Output()

...


def on_button_clicked(b):
   # some code that creates from dropdown selections, x. 

   df = pd.DataFrame(x, index=index,columns=['Pilot', 'Baseline', 'Change'])
   with out:
       clear_output(True)
       display(df)

button.on_click(on_button_clicked)

with out:
    display(df)

out