Python pandas几个DataFrames最佳实践

时间:2017-05-23 16:46:27

标签: python pandas

我有一个包含约600万行每日数据的DataFrame,我将用它来查找某些技术标记如何影响其各自股票的长期表现。我有2种方法,建议使用哪种方法?

  1. 制作2个不同的表,一个原始数据和一个(包含技术标记的过滤副本),然后在主表上执行“查找”以获得后续性能。
  2. 使用1个大表,包含标记和性能数据。
  3. 我不确定计算成本更高的是什么 - 为所有行计算技术标记,甚至是不需要的行,或者对主表进行查找。感谢。

1 个答案:

答案 0 :(得分:1)

我认为最简单和最有效的途径是拥有两个表。原因在于,对于1个大表,您的算法可以采用O(n ^ 2),因为您必须为标记中的每个元素迭代n次,然后为每个性能匹配每个元素n次。

如果你采用2表方法,你的复杂性会转到O(n * m),其中n是技术标记的数量,然后m是性能中的记录数。在这个用例中,我想你的n基于你想看的那个集合而不是整个集合,这意味着你的n< m因此你可以简单地应用短路来使算法更有效率。

或者,如果您能够构建主查找表以捕获性能和技术标记之间的所有关系,那么您的复杂性本质上是哈希查找或O(1)。