我有一个 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
如果我继续这样做,最终我将开始遇到内存问题(每次它都会调用整个 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
有没有一种方法可以指定最大行数,以便在添加任何后续行时,同时删除最旧的行,而无需“检查 DataFrame 的长度,如果 DataFrame 的长度 > X,删除第一行,追加新行”?
像这样,但对于 Pandas DataFrame:https ://stackoverflow.com/a/10155753/4783578