我有一个 for 循环,我在其中构建了一个 pandas 数据框,每次循环重新开始时,数据框都会更新。我想做的是在再次更新并再次显示之前描绘这张表,当然还有更新的值。 如果我要在每次迭代中绘制一些值并且这些图会一个接一个地显示,那么这样做是可能的。但我似乎无法对数据框或基本表做同样的事情。
df = pd.DataFrame(index = x, columns=y)
for i in range(df.shape[0]):
for j in range(df.shape[1]):
if condition is True:
df.iloc[i,j] = 'True'
else:
df.iloc[i,j] = 'False'
Show df!
不清楚您是否在笔记本内工作。但我认为你正在寻找
display
:
from IPython.display import display
df = pd.DataFrame(index = x, columns=y)
for i in range(df.shape[0]):
for j in range(df.shape[1]):
if condition is True:
df.iloc[i,j] = 'True'
else:
df.iloc[i,j] = 'False'
display(df)
你可以试试这个:
from IPython.display import display
df = pd.DataFrame(index = x, columns=y)
for i in range(df.shape[0]):
for j in range(df.shape[1]):
print("Values of i and j:",i,j)
print("DataFrame before update:")
display(df)
if condition is True:
df.iloc[i,j] = 'True'
else:
df.iloc[i,j] = 'False'
print("DataFrame after update:")
display(df)
此代码允许“清理”Jupyter 笔记本单元,并允许更新/刷新数据框:
from IPython.display import display, clear_output
df = pd.DataFrame(index = x, columns=y)
for i...:
for j...:
# Update df...
clear_output(wait=True)
display(df)