python - 如何使用 pandas 系列实现 FIFO?
问题描述
我想使用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
这些push
和pop
操作按应有的方式发挥作用。但可能有一种方法可以使执行更快。如何更有效地实施push
和pop
操作(性能)?
解决方案
推荐阅读
- python - 从 1 个列表中选择 a 和 b 列表,但 a 和 b 值不一样
- laravel - 如何访问 Backpack for Laravel 中的子菜单项?
- javascript - 如何使用 Reactjs 中的变量使用 css 渐变?
- c# - 如何对现有数据库使用 ABP 框架
- django - 当我在 django 模板中格式化时间时,为什么我的时间倒计时返回 NaN
- delphi - 延迟检测用 TThread.ForceQueue() 调用的已释放对象
- python - 如何为从 pyautogui 截屏的图像添加动态名称
- c++ - 继承带有约束的模板(不是 C+20 意义上的)
- python-3.x - 如何将dict的每个键和值作为参数传递给python中的其他函数
- swiftui - 如何在 SwiftUI 中创建清晰的背景按钮