2015-04-07 3 views
0

Я занят проектом, который должен выполнять задачи на большом количестве данных, которые были прочитаны из файлов csv. Это должно произойти по одной строке за раз, по одному кадру данных за раз.Выполнение операций над несколькими файлами данных

Итак, идея состоит в том, что я выбираю первую строку из первого кадра данных и делаю что-то с этими данными. Затем я перехожу к первой строке из второго фрейма данных и снова делаю то же самое с этими данными. После того, как я прошел через каждый фрейм, я вернусь к первому кадру данных и выберите вторую строку данных. Я продолжаю делать это, пока не пройду каждую строку каждого кадра данных.

Мне нужно будет знать, с какой файловой рамкой им работать в любой момент времени. Поэтому, когда я выбираю строку из df, мне нужно будет также определить, какой df это.

Мой вопрос связан с тем, какую структуру данных использовать для достижения этой цели. Мне было интересно, если я мог бы использовать Dict:

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

Там будет более 100 dataframes, и каждый dataframe может иметь сотни/тысячи строк.

Является ли диктом хороший способ сделать это?


Немного больше разъяснения по требованию:

Каждый dataframe создается из CSV, содержащий исторические данные о запасах, а именно:

Date, Open, High, Low, Close, Volume 

Существует один CSV/dataframe для каждой акции. Каждая строка csv/dataframe - один день, возвращаясь несколько лет назад.

Цель состоит в том, чтобы опробовать различные стратегии портфеля по данным (NB: это не проверка стратегии на одном складе, ... это проверка всего портфеля акций). Для этого не должно быть возможности смотреть в будущее. Другими словами, мне нужно пройти один день за каждый запас, а затем переехать на следующий день.

Поэтому я не могу просто закончить один файл данных сам по себе, а затем перейти к следующему. Мне нужно посмотреть, как портфель в целом работает во времени.

Надеюсь, это поможет уточнить?

+1

Зачем вам нужно управлять строкой за раз, какое ограничение? Вы могли бы рассмотреть панель, но диктофон будет работать нормально – EdChum

+0

Я не знаком с Panel, но рассмотрю его. Причиной одной строки за один раз является то, что она должна проверять данные фондового рынка по многим различным символам акций. Он будет тестировать один день за раз, по одному акту за раз. Другими словами, ему нужно моделировать течение времени на каждом складе, а не просто пропустить до конца одного запаса, а затем сделать следующий. Если вы можете предложить лучший способ сделать это, я буду рад услышать это. Благодарю. – darkpool

+0

Вам нужно будет уточнить детали в своем вопросе, но панель может подойти так, как вы хотите – EdChum

ответ

0

Похоже, вы можете поместить все файлы в один фрейм данных, добавив дополнительное поле для акций, отсортировать его по дате и запасу и перебрать по строкам. Я думаю, это соответствует вашей цели.

Смежные вопросы