I have data frame with symbols of stock
Here is Head of my data frame
eqList.head()
code
0 095570.KS
1 006840.KS
2 027410.KS
3 282330.KS
4 138930.KS
I am trying to add a marketCap using pandas_datareader.get_quote_yahoo
data.get_quote_yahoo(eqList['code'][2222])['marketCap']
050090.KQ 42256404480
Name: marketCap, dtype: int64
Applying to whole dataframe
eqList['marketCap'] = pd.Series(data.get_quote_yahoo(eqList['code'])['marketCap'], index=eqList.index)
However, I get index error below is full error message.
---------------------------------------------------------------------------
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
Could anyone help me please?
Found the companies symbols ordered by its Market Cap.