Jupyter Notebook: перезаписывать ячейку вывода в течение l oop вместо вывода в дополнении - PullRequest
0 голосов
/ 04 апреля 2020

Этот вопрос отличается от других тем, что мне нужно, чтобы выходная ячейка много раз перезаписывалась и обновлялась на протяжении всего процесса, вместо этого другие вопросы просто заботятся о выводе окончательного значения после завершения всего l oop.

Проблема

Я выполняю некоторые действия в течение всего oop, и каждую сотую итерацию мне нужно отслеживать обновление процесса с помощью визуализации (график). Проблема в том, что вместо сохранения только одного графика в выходной ячейке они накапливаются, и вскоре мне нужно прокрутить вниз на 20 страниц, чтобы найти последний график в выходной ячейке.

Пример

Для простоты в этом вопросе давайте предположим, что я просто хочу визуализировать некоторый текст.

for i in range(10000):
    if i%100 == 0:
        print('This is an update for iteration number {:d}'.format(i))

Ожидаемое решение

Вместо визуализации в ячейке:

100
200
300
...

Я бы хотел, чтобы выходная ячейка перезаписывалась каждый раз, когда в l oop.

отображается новый вывод.

1 Ответ

1 голос
/ 04 апреля 2020

Вы можете использовать I Python .display.clear_output , чтобы очистить вывод ячейки:

from IPython.display import clear_output

for i in range(1000000000):
  if i % 100000 == 0:
    clear_output()
    print('This is an update for iteration number {:d}'.format(i))
    df = px.data.iris()
    fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
                    size='petal_length', hover_data=['petal_width'])
    fig.update_layout(title='i')

    fig.show()
    time.sleep(15)   # add this to allow the plot visualization
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...