相关疑难解决方法(0)

从源代码编译的Pandas:默认的pickle行为发生了变化

我刚从源代码编译并安装了pandas(克隆的github repo,>>> setup.py install).

碰巧的是pickle,对象序列化/反序列化模块的默认行为发生了变化,可能被pandas内部模块部分覆盖了.

我有一些通过"标准"序列化的数据类pickle,显然我不能再反序列化了; 特别是,当我尝试反序列化一个类文件(肯定工作)时,我得到了这个错误

In [1]: import pickle

In [2]: pickle.load(open('pickle_L1cor_s1.pic','rb'))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-2-88719f8f9506> in <module>()
----> 1 pickle.load(open('pickle_L1cor_s1.pic','rb'))

/home/acorbe/Canopy/appdata/canopy-1.1.0.1371.rh5-x86_64/lib/python2.7/pickle.pyc in load(file)
   1376
   1377 def load(file):
-> 1378     return Unpickler(file).load()
   1379
   1380 def loads(str):

/home/acorbe/Canopy/appdata/canopy-1.1.0.1371.rh5-x86_64/lib/python2.7/pickle.pyc in load(self)
    856             while 1:
    857                 key = read(1)
--> 858                 dispatch[key](self)
    859         except _Stop, stopinst:
    860             return stopinst.value

/home/acorbe/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas-0.12.0_1090_g46008ec-py2.7-linux-x86_64.egg/pandas/compat/pickle_compat.pyc in load_reduce(self)
     28
     29         # try to reencode the arguments
---> …
Run Code Online (Sandbox Code Playgroud)

python pickle pandas

12
推荐指数
1
解决办法
3493
查看次数

如何使用新版本的 pandas 读取旧版本的 pandas 生成的 pickle 文件?

我有一个用旧版本的 pandas (0.19.2) 保存的腌制数据框。尝试使用新版本的 Pandas (0.20.3) 读取它 (pd.read_pickle()) 会引发错误:

ModuleNotFoundError:没有名为“pandas.indexes”的模块

有什么办法,如何使用新的 pandas 版本检索该 pickled 数据框,而不必返回并在旧版本中以不同的方式保存它?

如果不是,那么存储数据帧最安全、最简单的方法是什么,以便将来可以轻松读取它们?我读到了 HDFStore,这看起来相当麻烦......

python pickle pandas

7
推荐指数
1
解决办法
4377
查看次数

标签 统计

pandas ×2

pickle ×2

python ×2