2017-05-16 5 views
1

Das Pandas Data Reader Tool, das auf die Yahoo Finance-Bestandsdaten zugreift, scheint Daten direkt in ein panel zu ziehen - was ich glaube, dass es bald von Pandas fallengelassen wird. Weiß jemand, wie man Daten in ein multiindexed dataframe statt eines Panels zieht?Python/DataReader/Yahoo - mit pandas 'Panel veraltet, wie kann ich stattdessen Lagerdaten in multiindexed Datenrahmen bringen?

import pandas_datareader as data 
stock_data = data.DataReader(['AAPL','GE'], 'yahoo', datetime(2017,1,1), datetime.now()) 

In [121]: stock_data 

Out [121]: 
    <class 'pandas.core.panel.Panel'> 
    Dimensions: 6 (items) x 91 (major_axis) x 2 (minor_axis) 
    Items axis: Open to Adj Close 
    Major_axis axis: 2017-01-03 00:00:00 to 2017-05-12 00:00:00 
    Minor_axis axis: AAPL to GE 

Vielen Dank!

Antwort

1

Ich glaube, Sie brauchen Panel.to_frame:

df = stock_data.to_frame() 

Auch Panel.transpose funktionieren kann hilfreich sein, wenn Bedarf Swap MultiIndex es in Indizes und Spalten.

+0

hi jez - ich war besorgt, dass panel.to_frame() würde nicht funktionieren, sobald Panel aus Pandas insgesamt entfernt wird. – MJS

+0

Ja, ich stimme zu. Aber dann ändern in Zukunft Entwickler von pandas_datareader die Funktion für return MultiIndex oder xarray [link] (http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#whatsnew-0200-api-breaking-depreate-panel) . Aber jetzt, wenn Funktion Rückkehr Panel muss es konvertieren. – jezrael

+0

Auch [dort] (https://github.com/pydata/pandas-datareader/issues/297) ist Problem für es geöffnet. – jezrael

Verwandte Themen