【问题标题】:Creating "Market Capitalization" column to existing dataframe using one of the column value使用列值之一为现有数据框创建“市值”列
【发布时间】: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


    【解决方案1】:

    找到按市值排序的公司符号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-21
      • 2022-09-30
      • 2021-10-31
      • 1970-01-01
      • 2022-07-06
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      相关资源
      最近更新 更多