我有一个包含约600万行每日数据的DataFrame,我将用它来查找某些技术标记如何影响其各自股票的长期表现。我有2种方法,建议使用哪种方法?
我不确定计算成本更高的是什么 - 为所有行计算技术标记,甚至是不需要的行,或者对主表进行查找。感谢。
答案 0 :(得分:1)
我认为最简单和最有效的途径是拥有两个表。原因在于,对于1个大表,您的算法可以采用O(n ^ 2),因为您必须为标记中的每个元素迭代n次,然后为每个性能匹配每个元素n次。
如果你采用2表方法,你的复杂性会转到O(n * m),其中n是技术标记的数量,然后m是性能中的记录数。在这个用例中,我想你的n基于你想看的那个集合而不是整个集合,这意味着你的n< m因此你可以简单地应用短路来使算法更有效率。
或者,如果您能够构建主查找表以捕获性能和技术标记之间的所有关系,那么您的复杂性本质上是哈希查找或O(1)。