Python Jupyter笔记本:在循环过程中覆盖输出单元格,而不是在追加中输出

Python Jupyter笔记本:在循环过程中覆盖输出单元格,而不是在追加中输出,python,jupyter-notebook,output,Python,Jupyter Notebook,Output,这个问题与其他问题不同,因为我需要在整个过程中多次覆盖和更新输出单元格,而其他问题只关心在整个循环完成时输出最终值 问题 我在一个循环中执行一些操作,每100次迭代我都需要使用可视化(plotly)跟踪流程的更新。问题是,输出单元格中不是只保留一个绘图,而是将它们累加起来,很快我需要向下滚动20页才能在输出单元格中找到最新的绘图 例子 为了简单起见,在这个问题中,让我们假设我只想可视化一些文本 for i in range(10000): if i%100 == 0: p

这个问题与其他问题不同,因为我需要在整个过程中多次覆盖和更新输出单元格,而其他问题只关心在整个循环完成时输出最终值

问题 我在一个循环中执行一些操作,每100次迭代我都需要使用可视化(plotly)跟踪流程的更新。问题是,输出单元格中不是只保留一个绘图,而是将它们累加起来,很快我需要向下滚动20页才能在输出单元格中找到最新的绘图

例子 为了简单起见,在这个问题中,让我们假设我只想可视化一些文本

for i in range(10000):
    if i%100 == 0:
        print('This is an update for iteration number {:d}'.format(i))
预期解决方案 而不是在单元格中可视化:

100
200
300
...
我希望每次在循环中看到新的输出时,都会覆盖输出单元格。

您可以使用来清除单元格的输出:

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