我正在使用Python从网上收集数据并将数据附加到pandas数据帧。
我想在每次附加dos命令提示符时查看更新的数据帧。这就是我目前正在做的事情:
for i in range(0,len(Record_files)):
os.system('cls')
with pd.option_context('display.max_rows', None, 'display.max_columns', None,'expand_frame_repr', False):
print(Database)
由于Database
太大,因此大部分时间都会滚动,而不仅仅是查看上次更新的条目。
例如:
让初始数据帧输出为
Time Temperature
12:34 PM 45 C
12:37 PM 42 C
现在,当附加新数据时,我希望将其打印为:
Time Temperature
12:34 PM 45 C [old]
12:37 PM 42 C [old]
12:42 PM 39 C [new]
我希望只有[new]条目在排队时打印,而其他[旧]条目应保留在屏幕上。我目前使用os.system(' cls')为每次更新清除屏幕的方法的问题是,当列表超过终端窗口的长度时,它继续滚动并且它似乎无用
答案 0 :(得分:0)
如果要在两个帧中维护唯一索引,则可以使用old_df
的索引对new_df
进行子集化。
假设new_df
是你追加的数据框架。
old_df = old_df.append(new_df)
现在您只想查看更新的行:
old_df.iloc[new_df.index, :]
如果new_df
太大而无法放在屏幕上,则无法保证屏幕仍无法滚动!你可以编写一个带有用户输入的for循环,在输入一些字符串时打印一批行,以50行的方式打印new_df。