“ ValueError:索引包含重复的条目,无法重塑” Pandas DataReader

时间:2019-09-11 09:11:40

标签: python pandas api yahoo pandas-datareader

我可以从雅虎读取“ AAPL”符号历史数据

dfcomp3 = web.DataReader(["AAPL"],'yahoo',start=start,end=end)['Adj Close']

我可以从Yahoo读取“ GE”符号历史数据

dfcomp3 = web.DataReader(["AAPL"],'yahoo',start=start,end=end)['Adj Close']

我可以从Yahoo中读取“ BTC-USD”符号的历史数据

dfcomp3 = web.DataReader(["BTC-USD"],'yahoo',start=start,end=end)['Adj Close']

我可以从Yahoo读取“ AAPL”,“ GE”符号的历史数据

dfcomp7 = web.DataReader(["GE", "AAPL"],'yahoo',start=start,end=end)['Adj Close']

我无法同时从Yahoo中读取“ AAPL”,“ BTC-USD”符号的历史数据

dfcomp7 = web.DataReader(["BTC-USD", "AAPL"],'yahoo',start=start,end=end)['Adj Close']

    ---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-58-0cbbb3aa9346> in <module>()
----> 1 dfcomp7 = web.DataReader(["BTC-USD", "AAPL" ],'yahoo',start=start,end=end)['Adj Close']

7 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/reshape/reshape.py in _make_selectors(self)
    164 
    165         if mask.sum() < len(self.index):
--> 166             raise ValueError('Index contains duplicate entries, '
    167                              'cannot reshape')
    168 

ValueError: Index contains duplicate entries, cannot reshape

为什么?

谢谢

1 个答案:

答案 0 :(得分:0)

进入调试模式,并对self.index执行value_counts()。 这样,您就会看到哪个日期和哪个符号导致了问题。

单独下载BTC-USD时,不会出现此问题,因为pandas-datareader正在堆积,并且所有符号都已成为列名。当只有一个符号时,这不是问题。但是,如果有很多符号,则在堆叠时会导致错误。

在12月19日和12月6日,我使用以下符号CBS,STI,VIAB遇到了同样的问题。