【发布时间】:2021-02-01 22:32:55
【问题描述】:
我有带有股票符号的数据框
这是我的数据框的头
eqList.head()
code
0 095570.KS
1 006840.KS
2 027410.KS
3 282330.KS
4 138930.KS
我正在尝试使用 pandas_datareader.get_quote_yahoo 添加marketCap
data.get_quote_yahoo(eqList['code'][2222])['marketCap']
050090.KQ 42256404480
Name: marketCap, dtype: int64
应用于整个数据框
eqList['marketCap'] = pd.Series(data.get_quote_yahoo(eqList['code'])['marketCap'], index=eqList.index)
但是,我得到下面的索引错误是完整的错误消息。
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-47-0fe4f9373d51> in <module>
----> 1 eqList['marketCap'] = pd.Series(data.get_quote_yahoo(eqList['code'])['marketCap'], index=eqList.index)
~\.conda\envs\py36\lib\site-packages\pandas_datareader\data.py in get_quote_yahoo(*args, **kwargs)
96
97 def get_quote_yahoo(*args, **kwargs):
---> 98 return YahooQuotesReader(*args, **kwargs).read()
99
100
~\.conda\envs\py36\lib\site-packages\pandas_datareader\yahoo\quotes.py in read(self)
28 data = OrderedDict()
29 for symbol in self.symbols:
---> 30 data[symbol] = self._read_one_data(self.url, self.params(symbol)).loc[
31 symbol
32 ]
~\.conda\envs\py36\lib\site-packages\pandas_datareader\base.py in _read_one_data(self, url, params)
110 else:
111 raise NotImplementedError(self._format)
--> 112 return self._read_lines(out)
113
114 def _read_url_as_StringIO(self, url, params=None):
~\.conda\envs\py36\lib\site-packages\pandas_datareader\yahoo\quotes.py in _read_lines(self, out)
41
42 def _read_lines(self, out):
---> 43 data = json.loads(out.read())["quoteResponse"]["result"][0]
44 idx = data.pop("symbol")
45 data["price"] = data["regularMarketPrice"]
IndexError: list index out of range
谁能帮帮我?
【问题讨论】:
标签: python dataframe index-error