Я хотел бы использовать pandas Series в качестве FIFO . Индексы должны быть типа DateTimeIndex . Значения должны быть числами с плавающей запятой.
Например, при выполнении ячейки Jupyter один раз
timestamp = datetime.datetime.now().isoformat()
time_series = pd.Series(data=[1.0], index=pd.DatetimeIndex([timestamp]))
, а следующие два
timestamp = datetime.datetime.now().isoformat()
time_series = time_series.append(pd.Series(data=[1.0], index=pd.DatetimeIndex([timestamp])))
time_series
значения с соответствующими временными метками добавляются в качестве последней строки ( нажата) к pandas серии
2020-01-27 12:41:31.341218 1.0
2020-01-27 12:41:33.047248 1.0
2020-01-27 12:48:30.547635 1.0
dtype: float64
Удаление первого ряда (pop) может быть сделано с помощью
time_series.iloc[1:]
, что дает
2020-01-27 12:41:33.047248 1.0
2020-01-27 12:48:30.547635 1.0
dtype: float64
Эти * Операции 1024 * и pop
функционируют должным образом. Но, вероятно, есть способ ускорить выполнение. Как я могу реализовать операции push
и pop
более эффективно (производительность)?