【问题标题】:Pandas giving KeyError:0 after creating a new environment with python 3.6Pandas 在使用 python 3.6 创建新环境后给出 KeyError:0
【发布时间】:2019-05-15 08:16:52
【问题描述】:
df = pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')[0][0][1:]

给我下面的错误

Traceback (most recent call last):
  File "/Users/shijith/anaconda3/envs/py36/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2657, in get_loc
    return self._engine.get_loc(key)
  File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "delete.py", line 76, in <module>
    stock_Symbols = pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')[0][0]
  File "/Users/shijith/anaconda3/envs/py36/lib/python3.6/site-packages/pandas/core/frame.py", line 2927, in __getitem__
    indexer = self.columns.get_loc(key)
  File "/Users/shijith/anaconda3/envs/py36/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2659, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0

df = pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')[0] 工作正常,再次尝试切片时出错。

我正在使用 anaconda 并在我的基础环境中安装了 python 3.7。但由于我必须使用 H20,我用 python 3.6 创建了一个新环境。

在基本版本中,上述代码可以正常工作。 谁能解释一下为什么会这样?

【问题讨论】:

    标签: python python-3.x pandas anaconda virtualenv


    【解决方案1】:

    可能是因为,我使用source activate py36env 激活了创建的环境并安装了软件包(我使用的是 conda 4.6.14)。

    根据 conda 文档激活创建的环境使用:

    对于 conda 4.6 及更高版本,请使用。
    conda activateconda deactivate

    对于 4.6 之前的 conda 版本,请使用:
    窗口:activatedeactivate
    Linux 和 macOS:source activatesource deactivate

    我不得不删除该环境并重新创建 (conda create -n envname python=3.5 pandas scikit-learn), 使用conda activate envname 激活

    现在可以工作了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 2022-01-26
      • 1970-01-01
      • 2021-03-17
      • 2018-05-16
      • 1970-01-01
      • 2017-07-13
      相关资源
      最近更新 更多