2017-09-23 16 views
0

我想同時閱讀幾個代號的報價。我正在使用:讀入DataFrame而不是面板

import numpy as np 
import pandas as pd 
import pandas_datareader.data as web 
import datetime 
import matplotlib.pyplot as plt 
%matplotlib inline 
start = datetime.datetime(2017, 9, 20) 
end = datetime.datetime(2017,9,22) 
h = web.DataReader(["EWI", "EWG"], "yahoo", start, end) 

...它似乎工作。然而,數據被讀入面板數據結構。如果我打印變量「H」我得到:

<class 'pandas.core.panel.Panel'> 
Dimensions: 6 (items) x 4 (major_axis) x 2 (minor_axis) 
Items axis: Adj Close to Volume 
Major_axis axis: 2017-09-22 00:00:00 to 2017-09-19 00:00:00 
Minor_axis axis: EWG to EWI 

我想:

  1. 「看」得到的面板值(我是比較新的熊貓)。
  2. 是否可以將面板拼合成一個DataFrame? (國際海事組織它更好地記錄)
  3. 如果我讀了「調整關閉」對我來說,這將是綽綽有餘。也許直接讀入DataFrame會更容易?

謝謝

回答

1

我認爲你需要多指標DataFramePanel.to_frame

#with random data 

df = h.to_frame() 
print (df) 
        Adj Close  Close  High  Low  Open Volume 
major  minor                
2013-01-01 EWI  0.471435 0.471435 0.471435 0.471435 0.471435 0.471435 
      EWG -1.190976 -1.190976 -1.190976 -1.190976 -1.190976 -1.190976 
2013-01-02 EWI  1.432707 1.432707 1.432707 1.432707 1.432707 1.432707 
      EWG -0.312652 -0.312652 -0.312652 -0.312652 -0.312652 -0.312652 
2013-01-03 EWI -0.720589 -0.720589 -0.720589 -0.720589 -0.720589 -0.720589 
      EWG  0.887163 0.887163 0.887163 0.887163 0.887163 0.887163 
2013-01-04 EWI  0.859588 0.859588 0.859588 0.859588 0.859588 0.859588 
      EWG -0.636524 -0.636524 -0.636524 -0.636524 -0.636524 -0.636524 

,然後選擇欄:

s = df['Adj Close'] 
print (s) 
major  minor 
2013-01-01 EWI  0.471435 
      EWG  -1.190976 
2013-01-02 EWI  1.432707 
      EWG  -0.312652 
2013-01-03 EWI  -0.720589 
      EWG  0.887163 
2013-01-04 EWI  0.859588 
      EWG  -0.636524 
Name: Adj Close, dtype: float64 

df1 = df[['Adj Close']] 
print (df1) 
        Adj Close 
major  minor   
2013-01-01 EWI  0.471435 
      EWG -1.190976 
2013-01-02 EWI  1.432707 
      EWG -0.312652 
2013-01-03 EWI -0.720589 
      EWG  0.887163 
2013-01-04 EWI  0.859588 
      EWG -0.636524 

注意:

在未來Panel將是deprecated

+1

hello jezrael, 它證明了很多幫助。不過,我最先得到最新的日期,而你最後得到它。 Major_axis軸:2017-09-22 00:00:00至2017-09-19 00:00:00 任何想法,爲什麼這可能發生在我身上? – vsoler

相關問題