【发布时间】:2020-11-26 14:32:44
【问题描述】:
如何在使用循环时打印新数据帧并清除最后打印的数据帧? 所以它不会只显示输出中的最后一个数据帧吗?
使用 print(df, end="\r") 不起作用
import pandas as pd
import numpy as np
while True:
df = pd.DataFrame(np.random.rand(10,10))
print(df)
如果我从 api 获取实时数据以插入 df,我将使用 while 循环不断更新数据。但是我怎样才能只打印最新的数据帧,而不是在输出中打印彼此下方的所有数据帧?
如果我使用下面的 sn-p 它确实有效,但我认为应该有一个更优雅的解决方案。
import pandas as pd
import numpy as np
Height_DF = 10
Width_DF = 10
while True:
df = pd.DataFrame(np.random.rand(10,10))
print(df)
for i in range(Height_DF + 1):
sys.stdout.write("\033[F")
【问题讨论】:
-
你有一个
while True循环,它会一直打印同样的东西。你到底在问什么? -
也许尝试将用户输入添加为“暂停”......这个问题有点令人困惑......试着解释一下你到底想要什么?
-
如果我从 api 获取实时数据以打印到 df,我将使用 while 循环不断更新数据。但是我怎样才能只打印最新的数据帧而不是打印彼此下方的所有数据帧呢?
标签: python pandas dataframe printing