【发布时间】:2014-06-16 11:43:18
【问题描述】:
数据是一个熊猫面板
data
<class 'pandas.core.panel.Panel'>
Dimensions: 16 (items) x 1954 (major_axis) x 6 (minor_axis)
Items axis: ADRE to SPY
Major_axis axis: 2004-12-01 00:00:00+00:00 to 2012-08-31 00:00:00+00:00
Minor_axis axis: open to price
保存到磁盘
pandas.to_pickle(data, 'data.pkl')
但是当我尝试读取 pkl 文件时
pandas.read_pickle('data.pkl')
我明白了:
` -------------------------------------------------- ------------------------- IndexError Traceback(最近一次调用 最后)在() 1 种打印类型(数据) 2 data.to_pickle('G:\temp\test.pkl') ----> 3 pd.read_pickle('G:\temp\test.pkl')
C:\Python27\lib\site-packages\pandas-0.13.1-py2.7-win32.egg\pandas\io\pickle.pyc 在 read_pickle(路径) 47 48 尝试: ---> 49 返回 try_read(路径) 50 除了: 51 如果 PY3:
C:\Python27\lib\site-packages\pandas-0.13.1-py2.7-win32.egg\pandas\io\pickle.pyc 在 try_read(路径,编码) 44 除了: 45 with open(path, 'rb') as fh: ---> 46 返回 pc.load(fh, encoding=encoding, compat=True) 47 48 次尝试:
C:\Python27\lib\site-packages\pandas-0.13.1-py2.7-win32.egg\pandas\compat\pickle_compat.pyc 在加载(fh,编码,兼容,is_verbose) 87 up.is_verbose = is_verbose 88 ---> 89 返回 up.load() 90 除了: 第91章
C:\Python27\lib\pickle.pyc in load(self) 856 而 1: 857键=读取(1) --> 858 调度键 859 除了_Stop,stopinst: 860返回stopinst.value
C:\Python27\lib\site-packages\pandas-0.13.1-py2.7-win32.egg\pandas\compat\pickle_compat.pyc 在 load_reduce(self) 16 args = stack.pop() 17 函数 = 堆栈[-1] ---> 18 如果 type(args[0]) 是类型: 19 n = args[0].名称 20 如果 n == u('DeprecatedSeries') 或 n == u('DeprecatedTimeSeries'):
IndexError: 元组索引超出范围
`
我可以解决这个问题,但我的问题是“我是否正确使用 to/from pickle”?
【问题讨论】:
标签: python-2.7 pandas