J'ai écrit ce code pour charger un ensemble de données dans un cadre de données. Le jeu de données est donné dans un fichier pickle mais il génère une erreur:
ModuleNotFoundError: Aucun module nommé 'pandas.core.indexes'
import pickle
import pandas
dbfile = open(dataset loction,'rb')
df = pickle.load(dbfile)
J'ai essayé tous les correctifs donnés:
df = pandas.read_picle(dataset location)
J'ai essayé d'installer un cornichon à l'aide de pip, mais j'ai eu cette erreur
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
Cela sent que le fichier pickle a été créé avec une version différente de Pandas et que vos pandas actuellement installés ne possèdent pas le module pandas.core.indexes
nécessaire à certaines des données du pickle.
Quelle version des pandas utilisez-vous? Avez-vous essayé de mettre à jour?
EDIT: Pandas 0.19.2 n’a pas ce module:
$ 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'
>>>
Je suggère d'utiliser la méthode des cornichons pandas pour lire le fichier .pk.
import _pickle as cPickle
with open('filename.pkl', 'rb') as fo:
dict = cPickle.load(fo, encoding='latin1’)
voir doc ici. Pickle Read
La réponse de @AKX m'a fait comprendre qu'il s'agissait probablement d'un problème de version des pandas. Cependant, je n'avais besoin que d'une mise à niveau.
pip install pandas --upgrade