2015-04-07 34 views
0

我忙于一个项目,该项目需要在已从csv文件读入的大量数据框上执行任务。这需要一次发生一行,一次发送一个数据帧。在多个数据框上执行操作

所以我的想法是,我从第一个数据框中选择第一行,并使用该数据做一些事情。然后,我转向第二个数据框的第一行,并再次对该数据做同样的事情。一旦我经历了每一个数据帧,然后我回到第一个数据帧并选择第二行数据。我继续这样做,直到我经历了每一个数据帧的每一行。

我将需要知道在任何时间点使用哪个数据帧。所以当我从df中选择一行时,我还需要确定它是哪个df。

我的问题是用什么数据结构来完成这个。我在想,如果我可以使用的字典:

dict_of_dataframes = {'abc' = df1, 'xyz' = df2} 

将有超过100 dataframes,并且每个数据帧可能有几百/千行。

字典是一个很好的方式去完成这个吗?更


的位澄清的要求:

每个数据帧是由含有历史股票的CSV,即创建:

Date, Open, High, Low, Close, Volume 

没有为所有的股票一个CSV /数据帧。 csv/dataframe的每一行都有一天,可以追溯到几年。

目标是对数据进行各种投资组合策略的回溯测试(注意:这不是测试一只股票的策略,而是测试整个股票投资组合)。要做到这一点,必须没有能力展望未来。换句话说,我需要每一天都要经历一天的股票,然后转移到第二天。

所以我不能仅仅完成一个数据帧,然后移动到下一个。我需要看看整个投资组合如何通过时间表现。

我希望有助于澄清?

+1

为什么你需要一次操作一行,有什么约束?你可以考虑一个面板,但一个字典将正常工作 – EdChum

+0

我不熟悉面板,但会考虑它。一行一行的原因是,这是为了对多个不同股票代码的股票市场数据进行回溯测试。它将一次测试一天,一次测试一次。换句话说,它需要模拟整个每只股票的时间流逝,而不仅仅是跳到一只股票的末端,然后再做下一只股票。如果你能建议更好的方法来做到这一点,我会很高兴听到它。谢谢。 – darkpool

+0

你必须充实你的问题的细节,但面板可能适合你想要的 – EdChum

回答

0

看起来您可以将所有文件放在一个数据框中,为股票添加额外的字段,按日期和股票对其进行排序并遍历行。我认为这符合你的目的。

相关问题