Почему панды не читают файл pickle, созданный с более старой версией pandas? [Дубликат]

Существует плагин jQuery под названием inview , который выполняет задание

25
задан Thomas Matthew 22 May 2016 в 07:18
поделиться

4 ответа

У меня была эта ошибка, когда я создал файл pkl с python 2.7 и пытался прочитать его с помощью python 3.6. Я сделал:

pd.read_pickle('foo.pkl')

, и он работал

36
ответ дан Martin Tournoij 27 August 2018 в 02:47
поделиться

Вот решение без обновления панд или того, что вы используете.

Если вы используете python2

import pickle
with open('filename.pkl', 'rb') as fo:
        dict = pickle.load(fo, encoding='latin1’)

Если вы используете python3

import _pickle as cPickle
with open('filename.pkl', 'rb') as fo:
        dict = cPickle.load(fo, encoding='latin1’)
2
ответ дан Dave.Cheng 27 August 2018 в 02:47
поделиться

У меня возникла эта проблема, пытаясь открыть маринованный dataframe, сделанный с pandas 0.18.1, используя pandas 0.17.1. Если вы используете pip, обновите pandas с помощью:

pip install --upgrade pandas

Если вы используете библиотеку типа anaconda, используйте:

conda upgrade pandas

Если вам нужно иметь обе версии панд на вашей машине, рассмотрите возможность использования virtualenv

12
ответ дан Oliver 27 August 2018 в 02:47
поделиться

Сохранение и загрузка в разных версиях pandas с использованием pickle часто не работает. Вместо этого используйте pandas.HDFStore .

Когда мне нужно было обновить панды, но также потребовались некоторые данные, сохраненные с помощью pickle в предыдущих версиях, я вернулся и снова сохранил эти данные в формате HDF, когда ничего не получилось. Нет проблем.

Работает для любой структуры данных pandas, кажется, даже мультииндексированных dataframes! Короче говоря, если травление заканчивается после обновления версии, попробуйте HDFStore; он более надежный (и более эффективный!).

8
ответ дан OrangeSherbet 27 August 2018 в 02:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: