在Python中处理实时流媒体市场数据的性能最强的数据结构。

问题描述 投票:1回答:1

我即将处理直播的股市数据,数以百计的 "ticks" (dicts)每秒,将它们存储在内存数据结构中,并对数据进行分析。

我在阅读 pandas 并为之兴奋不已,后来才知道,熊猫的。append 函数是不推荐的,因为它在每个单独的append上复制整个数据帧。pandas 对于实时处理和分析高频流数据,例如金融或传感器数据,几乎是无法使用的。

所以我又回到了原生Python,这还算可以。为了节省内存,我在考虑滚动存储最近10万个左右的数据点。

什么是性能最好的Python数据结构?

我想使用一个列表,插入数据点编号100,001,然后删除第一个元素,就如 del list[0]. 这样一来,我就可以保持过去 100,000 个数据点的滚动历史,我的索引会越来越大。原生的 "滚动 "数据结构(如C语言中的16位索引和没有溢出检查的增量)在Python中似乎是不可能的。

在Python中实现我的实时数据分析的最好方法是什么?

python pandas performance data-science real-time
1个回答
1
投票

你所描述的工作流程让我想到了一个... deque基本上是一个允许在一端(如右)扩展,而在另一端(如左)弹出(获取和删除)它们的列表。参考文献中甚至有一个简短的列表 德克菜谱 来说明常见的用例,如实施 tail 或维持移动平均线(作为发电机)。

© www.soinside.com 2019 - 2024. All rights reserved.