Очистить область виджета ячейки в блокноте Jupyter из блокнота

Мне интересно, можно ли очистить область виджета ячейки в записной книжке Jupyter со стороны записной книжки (то есть в Python). IPython.display.clear_output() очищает только область вывода ячейки, но не область виджетов.

Обновление: это все еще проблема в последних версиях Notebook и ipywidgets. Вот два минимальных примера, иллюстрирующих проблему, с которой я борюсь. Выходные данные виджета, которые я пытаюсь очистить, — это фреймы данных, отображаемые qgrid. В обоих случаях, несмотря на попытку очистить предыдущий вывод виджета, при последующем выборе таблица добавляется после предыдущей. Каждая новая таблица добавляется как div с классом p-Widget.

import pandas as pd import numpy as np import qgrid from ipywidgets import interact from IPython.display import display, clear_output import notebook import ipywidgets print(‘Jupyter Notebook version: {}’.format(notebook.__version__)) print(‘ipywidgets version: {}’.format(ipywidgets.__version__)) max_columns = 10 max_rows = 10 col_opts = list(range(1, max_columns + 1)) row_opts = list(range(1, max_rows + 1))

Первая попытка использования взаимодействия:

@interact(columns=col_opts, rows=row_opts) def submit(columns, rows): df = pd.DataFrame(np.random.randint(0, 100, size=(rows, columns))) clear_output() display(qgrid.QGridWidget(df=df)

Вторая попытка использования виджета вывода:

output = ipywidgets.Output() display(output) def submit2(change): rows = row_input.value columns = col_input.value df = pd.DataFrame(np.random.randint(0, 100, size=(rows, columns))) with output: output.clear_output() display(qgrid.QGridWidget(df=df)) col_input = ipywidgets.Dropdown(options=col_opts) row_input = ipywidgets.Dropdown(options=row_opts) col_input.observe(submit2, ‘value’) row_input.observe(submit2, ‘value’) display(col_input) display(row_input)

Возможный дубликат выходных данных чистой ячейки записной книжки ipython в коде   —  person nedned    schedule 26.02.2018

Источник: ledsshop.ru

Стиль жизни - Здоровье!