我有一个 Pandas 数据框,我每秒不断地附加一行数据,如下所示。
df.loc[time.strftime("%Y-%m-%d %H:%M:%S")] = [reading1, reading2, reading3]
>>>df
sensor1 sensor2 sensor3
2015-04-14 08:50:23 5.4 5.6 5.7
2015-04-14 08:50:24 5.5 5.6 5.8
2015-04-14 08:50:26 5.2 5.3 5.4
Run Code Online (Sandbox Code Playgroud)
如果我继续这样做,最终我将开始遇到内存问题(每次它都会调用整个 DataFrame)。
我只需要保留 X 行数据。即手术后,它将是:
>>>df
sensor1 sensor2 sensor3
(this row is gone)
2015-04-14 08:50:24 5.5 5.6 5.8
2015-04-14 08:50:26 5.2 5.3 5.4
2015-04-14 08:50:27 5.2 5.4 5.6
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以指定最大行数,以便在添加任何后续行时,同时删除最旧的行,而无需“检查数据帧的长度,如果数据帧的长度 > X,则删除第一行,追加新行”?
像这样,但对于 Pandas DataFrame:https ://stackoverflow.com/a/10155753/4783578