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

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

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

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

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

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

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

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

我可以从雅虎读取“ 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

为什么?

谢谢

python pandas api yahoo pandas-datareader
1个回答
0
投票

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

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

我在12月19日和12月6日使用以下代码CBS,STI,VIAB遇到相同的问题。

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