Как я могу реализовать FIFO с серией pandas? - PullRequest
0 голосов
/ 27 января 2020

Я хотел бы использовать 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 более эффективно (производительность)?

...