模块未找到错误:没有名为“pandas.core.indexes”的模块。

10
我编写了这段代码以将数据集加载到数据帧中。数据集以pickle文件的形式提供,但它抛出一个错误: ModuleNotFoundError:找不到名为'pandas.core.indexes'的模块
import pickle
import pandas
dbfile = open(dataset loction,'rb')
df = pickle.load(dbfile)

我尝试了所有提供的解决方案:
  1. 更新了pandas
  2. 使用df = pandas.read_picle(dataset location)
尝试使用pip安装pickle,但出现以下错误。
C:\installs\WinPython-64bit-3.6.1.0Qt5\python-3.6.1.amd64>python -m pip install pickle
Collecting pickle
  Could not find a version that satisfies the requirement pickle (from versions: )
No matching distribution found for pickle

请提供代码的错误细节,因为标题很令人困惑。 - jits_on_moon
这是我得到的完整错误:ModuleNotFoundError Traceback (most recent call last) <ipython-input-14-2a34c4ce9aec> in <module>() 2 import pandas 3 dbfile = open(r'C:\Users\raman\Downloads\df_train_api.pk','rb') ----> 4 df = pickle.load(dbfile) 5 6 df ModuleNotFoundError:找不到名为'pandas.core.indexes'的模块 - RAMAN BHATIA
我们需要看到真正的实现,因为dbfile = open(dataset loction,'rb')这一行没有意义,我们无法确定它是否是错误的源头或者是否已经正确实现。 - Yuca
我有一个名为 df_train_api.pk 的数据集存储在我的下载文件夹中,我正在使用以下特定代码:`import pickle import pandas dbfile = open(r'C:\Users\raman\Downloads\df_train_api.pk','rb') df = pickle.load(dbfile)df` - RAMAN BHATIA
3个回答

14

这似乎表明pickle文件是由不同版本的Pandas创建的,而您当前安装的Pandas没有一些数据所需的pandas.core.indexes模块。

您使用的是哪个版本的Pandas?您尝试过升级吗?

编辑:Pandas 0.19.2没有该模块:

$ pip install pandas==0.23.3
$ python
>>> import pandas.core.indexes as i
>>>
$ pip install pandas==0.19.2
$ python
>>> import pandas.core.indexes as i
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pandas.core.indexes'
>>>

我正在使用 pandas 版本:**'0.19.2'**,是的,我尝试过升级它。 - RAMAN BHATIA
@RAMANBHATIA 嗯,升级到0.23.3版本肯定会解决你的问题。请查看我的编辑... - AKX

1

@AKX的答案让我意识到这可能是Pandas版本问题。然而,我只需要升级即可。

pip install pandas --upgrade

1
我建议使用pandas pickle方法来读取.pk文件。
import _pickle as cPickle
with open('filename.pkl', 'rb') as fo:
        dict = cPickle.load(fo, encoding='latin1’)

请查看此文档。 Pickle Read

我尝试使用以下代码 pandas.read_pickle(r'C:\Users\raman\Downloads\df_train_api.pk'),但它也抛出了相同的错误 **ModuleNotFoundError: No module named 'pandas.core.indexes'**。 - RAMAN BHATIA
你的 .pk 文件是用哪个版本的 Python 创建的?同时需要知道你使用的编码方法。 - jits_on_moon
2
无论如何,如果您的pickle文件是使用较低版本的Python(例如2.7)创建的,则会产生影响。 - jits_on_moon
有任何修复方法吗?我不确定是否现在可以联系到他们,因为明天有最后期限。 - RAMAN BHATIA
如果您能够找到此文件在Python安装中的位置,那将是非常好的,以便了解缺少的模块。该文件位于Python安装的site-package/pandas/core目录下的index.py文件。 - jits_on_moon
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接