我想使用 ipywidgets 以交互方式顯示熊貓數(shù)據(jù)框。到目前為止,代碼得到了一些選擇,然后進(jìn)行了一些計算。對于這個例子,它并沒有真正使用輸入標(biāo)簽。但是,我的問題是當(dāng)我想顯示熊貓數(shù)據(jù)框時,它不被視為小部件。但是我怎樣才能使用小部件很好地顯示熊貓數(shù)據(jù)框呢?最后,我想在main_box這是一個代碼示例,適用于任何 jupyter notebookimport pandas as pdimport ipywidgets as widgetsdef button_run_on_click(_): status_label.value = "running...." df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]]) status_label.value = "" result_box = setup_ui(df) main_box.children = [selection, button_run, status_label, result_box]def setup_ui(df): return widgets.VBox([df])selection_box = widgets.Box()selection_toggles = []selected_labels = {}default_labels = ['test1', "test2"]labels = {"test1": "test1", "test2": "test2", "test3": "test3"}def update_selection(change): owner = change['owner'] name = owner.description if change['new']: owner.icon = 'check' selected_labels[name] = labels[name] else: owner.icon = "" selected_labels.pop(name)for k in sorted(labels): o = widgets.ToggleButton(description=k) o.observe(update_selection, 'value') o.value = k in default_labels selection_toggles.append(o) selection_box.children = selection_togglesstatus_label = widgets.Label()status_label.layout.width = '300px'button_run = widgets.Button(description="Run")main_box = widgets.VBox([selection_box, button_run, status_label])button_run.on_click(button_run_on_click)display(main_box)
1 回答

翻過高山走不出你
TA貢獻(xiàn)1875條經(jīng)驗 獲得超3個贊
from IPython.display import display
import ipywidgets as widgets
def setup_ui(df):
out = widgets.Output()
with out:
display(df)
return out
如果您將setup_ui函數(shù)更改為此,您可以使用數(shù)據(jù)框返回一個輸出小部件。
但是,在您的button_run_on_click函數(shù)中,它似乎selection沒有定義。這應(yīng)該是別的嗎?
添加回答
舉報
0/150
提交
取消