【发布时间】:2020-09-27 02:12:21
【问题描述】:
我即将处理实时流媒体股票市场数据,每秒数百个“滴答”(dicts),将它们存储在内存数据结构中并分析数据。
我正在阅读 pandas 并对此感到非常兴奋,只是得知不推荐使用 pandas 的 append 函数,因为它会在每个单独的追加上复制整个数据帧。
所以看起来pandas 几乎无法用于高频流数据的实时处理和分析,例如财务或传感器数据。
所以我回到了原生 Python,这很好。为了节省 RAM,我正在考虑滚动存储最后 100,000 个左右的数据点。
什么是性能最好的 Python 数据结构?
我正在考虑使用一个列表,并插入数据点编号 100,001,然后删除第一个元素,如 del list[0]。这样,我可以保留最后 100,000 个数据点的滚动历史,因为我的索引会越来越大。在 Python 中似乎不可能实现原生的“滚动”数据结构(如在 C 中具有 16 位索引和增量而没有溢出检查)?
在 Python 中实现我的实时数据分析的最佳方法是什么?
【问题讨论】:
标签: python pandas performance data-science real-time