2016-11-20 5 views
0

Я пробовал несколько разных методов для хранения результатов функции 'pandas-datareader', возвращающей объект dataframe pandas, встроенный в цикл for. Выход продолжает переписываться, несмотря на использование метода df.append. Кроме того, было бы полезно, если возможно, подавить заголовки от последующих вызовов функции DataReader и сохранить только числовой вывод.Добавление результатов для loop to pandas dataframe

for e in eqy[0:5]: 

    try: 
     prices = web.DataReader(e, 'google', start, end) 
     prices = pd.DataFrame.append(prices) 
    except: 
     pass 

print prices 

ответ

0

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

price_new = pd.DataFrame() 
for e in eqy[0:5]: 

    try: 
     prices = web.DataReader(e, 'google', start, end) 
     prices['Ticker'] = e 
     price_new = price_new.append(pd.DataFrame(prices)) 
    except: 
     pass 

print price_new 
+0

Попробуйте добавить данные в список python. Затем список конкатенации внешнего контура для конечного фрейма данных с помощью 'pd.concat()'. – Parfait