Pandas 读取数据帧而不是面板

Pandas 读取数据帧而不是面板,pandas,pandas-datareader,Pandas,Pandas Datareader,我想同时看几份股票行情。我正在使用: 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.DataRe

我想同时看几份股票行情。我正在使用:

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”,我会得到:


尺寸:6(项目)x 4(长轴)x 2(短轴)
项目轴:调整接近体积
长轴:2017-09-22 00:00:00至2017-09-19 00:00:00
短_轴:EWG至EWI
我想:

  • “查看”生成的面板值(我对pandas比较陌生)
  • 是否可以将面板展平为数据帧?(IMO更好地记录了这一点)
  • 如果我读“调整后的收盘价”,那就足够了。也许直接读入数据帧会更容易些
  • 谢谢

    我想您需要多索引
    数据帧

    #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
    
    注意:


    未来的
    面板将是

    你好,耶兹雷尔,它确实帮助很大。然而,我会先得到最新的约会,而你会最后得到。长轴:2017-09-22 00:00:00到2017-09-19 00:00:00有什么想法为什么会发生在我身上?
    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