【问题标题】:ipython widget button that refreshes a table刷新表格的 ipython 小部件按钮
【发布时间】:2022-01-19 13:03:04
【问题描述】:

我在使用简单代码时遇到问题。

我正在使用 jupyterlab,我有一个单元格可以创建一个带有 3 个按钮的小部件。然后它执行“模型”函数:

from ipywidgets import *

wid = interactive(model, months=widgets.ToggleButtons(options=['3m','6m','9m'], description='months'))

display(wid)

模型函数返回一个名为 pred_df 的数据帧。

然后我在另一个单元格中遇到问题。我想要一个刷新数据框显示的按钮。

button = widgets.Button(description="Refresh")

display(button)

def on_button_clicked(b):
    pred_df = wid.result
    pred_df = pred_df.sort_values(by='Predicted returns', ascending=False)
    print(pred_df.head(10))
    
button.on_click(on_button_clicked)

我认为这里的问题是显示器在打印方法上打印按钮,它是否仍然显示在控制台日志中。

有什么办法可以解决这个问题吗?

【问题讨论】:

  • 可以分享截图吗?
  • 您可能希望将排序结果直接返回到小部件而不是打印它们?这个问题很难回答,因为它不是一个可重复的例子,也不能清楚地解释你的问题。
  • @krassowski 是的,你是对的。我想通了并发布了答案。

标签: python widget jupyter jupyter-lab ipywidgets


【解决方案1】:

我想出了如何做到这一点:

button = widgets.Button(description="Refresh!")
output = widgets.Output()

display(button, output)

def on_button_clicked(b):
    pred_df = wid.result
    pred_df = pred_df1.sort_values(by='Predicted returns', ascending=False)
    with output:
        clear_output(wait = False)
        display(pred_df.head(10)) 


button.on_click(on_button_clicked)

【讨论】:

    猜你喜欢
    • 2021-10-14
    • 2017-01-16
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多