pandas 数据读取器的正确日期格式?

问题描述 投票:0回答:2

有人可以解释一下如何为 pandas datareader 输入正确的日期格式吗?看来我过去已经尝试过这两种日期格式并且它们都有效。然而,在过去的几天里,这些线路只输出去年的数据......

import pandas_datareader.data as wb
import datetime
start = datetime.datetime(2012,1,1)
end = datetime.datetime(2012,12,31)
df = wb.DataReader ('GE', 'google', '2012, 1, 1', '2012, 12, 31') # doesn't work
print (df)
df2 = wb.DataReader ('GE', 'google', start, end) # doesn't work
print (df2)

两者的缩写输出:

            Open   High    Low  Close    Volume
Date                                            
2016-09-15  29.55  29.85  29.42  29.75  35262527
...
2017-09-13  23.93  24.18  23.92  24.11  38629676

谢谢, 大卫

pandas date format datareader
2个回答
0
投票

在修复此问题的过程中,我升级到了最新版本的 pandas (0.20.3) 和 pandas-datareader (0.5.0)。这并没有修复问题中的代码。问题似乎是试图使用谷歌作为来源。下面的代码运行正确,但使用 yahoo 作为源。然而,当尝试使用谷歌作为来源时,它失败了。

from pandas_datareader import data, wb
from datetime import date
start = date (2012, 1, 1)
end = date (2012, 12, 31)
df = data.DataReader ('GE', 'yahoo', start, end)
print (df)

0
投票
    import yfinance as yfin
    import datetime

    start = datetime.datetime(2012,1,1)
    end   = datetime.datetime(2012,12,31)

    tickerGE2 = yfin.Ticker('GE')
    dfGE2 = tickerGE2.history(  period="max", start=start, end=end)
    print (dfGE2)

样本输出

                             Open        High         Low       Close  \

日期
2012-01-03 00:00:00-05:00 85.363812 86.628115 85.363812 85.972549
2012-01-04 00:00:00-05:00 85.738404 87.096361 85.597928 86.909058
2012-01-05 00:00:00-05:00 86.440802 87.096367 85.644761 86.862236

© www.soinside.com 2019 - 2024. All rights reserved.