如何在 Python 中对 Pandas 数据帧上的行进行 FIFO 推送操作?

rrl*_*ane 3 python pandas

我需要维护一个包含 500 行的 Pandas 数据框,当下一行可用时,我想将新行推入并从数据框中丢弃最旧的行。例如,假设我将第 0 行维护为最新,将第 500 行维护为最旧。当我获得新数据时,我会将数据推送到第 0 行,然后它将第 0 行移动到第 1 行,依此类推,直到将第 499 行推送到第 500 行(并且第 500 行被删除)。

有没有办法在 Pandas 上进行这样的 FIFO 操作?多谢你们!

rrl*_*ane 7

@JohnGalt 在评论中发布了对此的答案。多谢。我只是想把答案放在这里,以防万一人们将来寻找类似的信息。

df.shift(1) df.loc[0] = new_row

df.shift(n)将移动行n时间,填充第一nna并删除最后n一行。的行数df不会随 变化df.shift

我希望这是有帮助的。