【问题标题】:Python: Best way to place data in a list and as time progresses update and delete oldest valuePython:将数据放在列表中并随着时间的推移更新和删除最旧值的最佳方法
【发布时间】:2016-08-29 06:56:15
【问题描述】:

基本上我有一个来自这段代码的数据流,每分钟更新一次最新的价格:

prices = data.history(context.stocks, "close", 15600, "1m")

当此代码每分钟将最新价格和最旧价格输入其中时,我希望将此历史数据放入某种列表中,在这种情况下是第 15600 分钟被删除。

我该怎么做呢?以某种方式使用窗口?或者只是一个将最新值添加到列表并删除最旧值的代码。

感谢您的帮助,

谢谢 迈克

【问题讨论】:

  • @tmthydvnprt 错字,抱歉!

标签: arrays list sorting pandas quantitative-finance


【解决方案1】:

您可以考虑使用deque 和选项maxlen

如果未指定 maxlen 或为 None,则 deques 可能会增长到任意 长度。否则,双端队列限制为指定的最大值 长度。一旦有界长度的双端队列已满,当添加新项目时, 从另一端丢弃相应数量的项目。

from _collections import deque
d = deque(maxlen = 10)
for i in range(20):
    d.append(i)

print(d)
deque([10, 11, 12, 13, 14, 15, 16, 17, 18, 19], maxlen=10)

【讨论】:

  • @谢谢,太好了!!
猜你喜欢
  • 1970-01-01
  • 2012-05-11
  • 1970-01-01
  • 2022-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
相关资源
最近更新 更多