【问题标题】:How to create a dataframe from dictionary with details of stocks如何从字典中创建包含股票详细信息的数据框
【发布时间】:2018-02-03 20:08:24
【问题描述】:

我需要创建一个数据框,其中包含我在列表中给出的公司股票的收盘价。

import pandas_datareader.data as web
from pandas import Series,DataFrame
from datetime import datetime
start = datetime(2017,1,1)
end = datetime(2017,1,12)    
f = web.DataReader(['BP','CVX'], 'iex',start,end)
代码中的

f 正在返回一个字典,如下所示。 如何在DataFrame中获取上市公司股票的收盘价。

{'BP': 高开低收 日期
2017-01-03 38.100 38.1218 37.79 38.00 8779164 2017-01-04 38.045 38.3400 37.94 38.29 6883266 2017-01-05 38.140 38.6800 38.14 38.57 6505685 2017-01-06 38.160 38.1900 37.85 37.91 5800932 2017-01-09 37.580 37.6500 37.31 37.31 5533626 2017-01-10 37.250 37.4500 37.11 37.11 3922015 2017-01-11 37.200 37.6550 37.06 37.55 4422586 2017-01-12 37.990 38.0000 37.66 37.76 4698473, 'CVX': 高开低收 日期
2017-01-03 118.38 119.00 116.59 117.85 7404774 2017-01-04 118.41 118.65 117.60 117.82 6679943 2017-01-05 118.00 118.48 116.72 117.31 5928637 2017-01-06 117.45 117.58 116.38 116.84 4762474 2017-01-09 116.29 116.36 115.11 115.84 6891790

【问题讨论】:

    标签: python python-3.6 pandas-datareader


    【解决方案1】:

    我认为您需要concat 和参数axis=1 用于沿列连接并在列中通过xs 第二级MultiIndex 选择:

    df = pd.concat(f, axis=1).xs('close', axis=1, level=1)
    print (df)
                   BP     CVX
    date                     
    2017-01-03  38.00  117.85
    2017-01-04  38.29  117.82
    2017-01-05  38.57  117.31
    2017-01-06  37.91  116.84
    2017-01-09  37.31  115.84
    2017-01-10  37.11     NaN
    2017-01-11  37.55     NaN
    2017-01-12  37.76     NaN
    

    或沿索引连接,但在索引中获取MultiIndex

    df = pd.concat(f)['close']
    print (df)
         date      
    BP   2017-01-03     38.00
         2017-01-04     38.29
         2017-01-05     38.57
         2017-01-06     37.91
         2017-01-09     37.31
         2017-01-10     37.11
         2017-01-11     37.55
         2017-01-12     37.76
    CVX  2017-01-03    117.85
         2017-01-04    117.82
         2017-01-05    117.31
         2017-01-06    116.84
         2017-01-09    115.84
    Name: close, dtype: float64
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 2015-12-27
      • 2021-12-08
      • 1970-01-01
      • 2020-03-21
      相关资源
      最近更新 更多