我有一个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)
,但每次单击按钮时,每次都会打印一个数据帧。
我只是希望在单击按钮时根据用户选择更改数据框。有关如何处理此问题的任何提示?感谢。
答案 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