Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对多个数据帧执行操作_Python_Pandas - Fatal编程技术网

Python 对多个数据帧执行操作

Python 对多个数据帧执行操作,python,pandas,Python,Pandas,我正忙于一个项目,该项目需要对从csv文件读入的大量数据帧执行任务。这需要一次发生一行,一次发生一个数据帧 因此,我的想法是从第一个数据帧中选择第一行,并对该数据进行处理。然后,我从第二个数据帧转到第一行,并再次对该数据执行相同的操作。完成每个数据帧后,我返回第一个数据帧并选择第二行数据。我继续这样做,直到我检查了每个数据帧的每一行 我需要知道我在任何时候使用哪个数据帧。因此,当我从df中选择一行时,我还需要确定它是哪个df 我的问题是使用什么数据结构来实现这一点。我想知道我是否可以使用口述:

我正忙于一个项目,该项目需要对从csv文件读入的大量数据帧执行任务。这需要一次发生一行,一次发生一个数据帧

因此,我的想法是从第一个数据帧中选择第一行,并对该数据进行处理。然后,我从第二个数据帧转到第一行,并再次对该数据执行相同的操作。完成每个数据帧后,我返回第一个数据帧并选择第二行数据。我继续这样做,直到我检查了每个数据帧的每一行

我需要知道我在任何时候使用哪个数据帧。因此,当我从df中选择一行时,我还需要确定它是哪个df

我的问题是使用什么数据结构来实现这一点。我想知道我是否可以使用口述:

dict_of_dataframes = {'abc' = df1, 'xyz' = df2}
将有100多个数据帧,每个数据帧可能有数百行/数千行

口述是实现这一目标的好方法吗


关于要求的进一步澄清:

每个数据框都是从包含历史股票数据的csv创建的,即:

Date, Open, High, Low, Close, Volume
每个股票都有一个csv/dataframe。csv/dataframe的每一行都是一天,可以追溯到几年前

目标是在数据上对各种投资组合策略进行回溯测试(注意:这不是在一只股票上测试策略,……而是测试整个股票组合)。要做到这一点,就必须没有向前看的能力。换句话说,我需要对每只股票进行一天一次的检查,然后转到第二天

所以我不能只完成一个数据帧,然后移动到下一个。我需要看看投资组合作为一个整体在时间上的表现


我希望这有助于澄清?

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

为什么您需要一次操作一行,有什么限制?你可以考虑一个小组,但DICT将工作Fieli不熟悉一个小组,但将调查它。一次一行的原因是,这是为了在许多不同的股票符号上对股票市场数据进行回溯测试。它将一次测试一天,一次测试一只股票。换句话说,它需要模拟每只股票的时间流逝,而不仅仅是跳到一只股票的末尾,然后再跳下一只股票。如果你能建议一个更好的方法来做这件事,我会很高兴听到它。谢谢。你必须充实你问题中的细节,但是一个小组可能适合你想要的。我不推荐这里的小组。对于共享索引和列的框架来说,面板是很好的选择(这似乎不适合您)。谈到您的问题:您正在重新安排一个时间序列,使其成为一个数据帧,这样一行是day,而列是其他内容(比如5min戳记?)。请不要这样做。您可以稍后进行所有子采样。一只股票是一个时间序列是一个数据框的一列。共享索引是日期。共享的列有开放列、高列、低列和关闭列(+卷?)。当您通过DataReader导入熊猫中多个股票的数据时,它会将数据放入面板中。试试看。