Python 2.7 “元组索引超出范围”读取面板

Python 2.7 “元组索引超出范围”读取面板,python-2.7,pandas,Python 2.7,Pandas,数据是一个面板 资料 尺寸:16个项目x 1954长轴x 6短轴 项目轴:地址至间谍 长轴:2004-12-01 00:00:00+00:00至2012-08-31 00:00:00+00:00 短轴:按价格开放 保存到磁盘 pandas.to_pickle(data, 'data.pkl') 但当我尝试读取pkl文件时 pandas.read_pickle('data.pkl') 我得到: ` --------------------------------------索引器跟踪最近的调用

数据是一个面板

资料 尺寸:16个项目x 1954长轴x 6短轴 项目轴:地址至间谍 长轴:2004-12-01 00:00:00+00:00至2012-08-31 00:00:00+00:00 短轴:按价格开放

保存到磁盘

pandas.to_pickle(data, 'data.pkl')
但当我尝试读取pkl文件时

pandas.read_pickle('data.pkl')
我得到:

` --------------------------------------索引器跟踪最近的调用 最后的 1打印类型数据 2.data.to_pickle'G:\temp\test.pkl' -->3 pd.读取\u pickle'G:\temp\test.pkl'

C:\Python27\lib\site packages\pandas-0.13.1-py2.7-win32.egg\pandas\io\pickle.pyc 在读路径中 47 48尝试: -->49返回try_readpath 50除: 51如果PY3:

C:\Python27\lib\site packages\pandas-0.13.1-py2.7-win32.egg\pandas\io\pickle.pyc 在try_readpath中,编码 44除: 45带有openpath,“rb”作为fh: -->46返回pc.loadfh,encoding=encoding,compat=True 47 48尝试:

C:\Python27\lib\site packages\pandas-0.13.1-py2.7-win32.egg\pandas\compat\pickle\u compat.pyc 在loadfh中,编码compat是详细的 87 up.is_verbose=is_verbose 88 -->89返回。加载 90除: 91提高

loadself中的C:\Python27\lib\pickle.pyc 856而1: 857键=read1 ->858调度键 859除_Stop,stopinst外: 860返回stopinst.value

C:\Python27\lib\site packages\pandas-0.13.1-py2.7-win32.egg\pandas\compat\pickle\u compat.pyc 在负载减少时 16 args=stack.pop 17 func=堆栈[-1] -->18如果typeargs[0]是类型: 19 n=args[0]。名称 20如果n==u'DeprecatedSeries'或n==u'DeprecatedTimeSeries':

索引器错误:元组索引超出范围

`

我可以解决这个问题,但我的问题是我是否正确地使用了到/从pickle?pickle通过以下方式保存:

 panel.to_pickle('file_name.pkl')
您似乎没有使用字符串文件名,而是添加了一个额外的非引号参数

阅读也使用引号文件名

 pd.read_pickle('file_name.pkl')
在windows上的python 27-32位

Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import pandas as pd
>>> np.__version__
'1.7.1'
>>> pd.__version__
'0.13.1-791-g07f6d46'
>>> from pandas.util import testing as tm
>>> panel = tm.makePanel()
>>> pd.to_pickle(panel,'test.pkl')
>>> pd.read_pickle('test.pkl')
<class 'pandas.core.panel.Panel'>
Dimensions: 3 (items) x 30 (major_axis) x 4 (minor_axis)
Items axis: ItemA to ItemC
Major_axis axis: 2000-01-03 00:00:00 to 2000-02-11 00:00:00
Minor_axis axis: A to D
因此,不确定确切的数据是什么,可能会显示复制的

pickle是通过以下方式保存的:

 panel.to_pickle('file_name.pkl')
您似乎没有使用字符串文件名,而是添加了一个额外的非引号参数

阅读也使用引号文件名

 pd.read_pickle('file_name.pkl')
在windows上的python 27-32位

Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import pandas as pd
>>> np.__version__
'1.7.1'
>>> pd.__version__
'0.13.1-791-g07f6d46'
>>> from pandas.util import testing as tm
>>> panel = tm.makePanel()
>>> pd.to_pickle(panel,'test.pkl')
>>> pd.read_pickle('test.pkl')
<class 'pandas.core.panel.Panel'>
Dimensions: 3 (items) x 30 (major_axis) x 4 (minor_axis)
Items axis: ItemA to ItemC
Major_axis axis: 2000-01-03 00:00:00 to 2000-02-11 00:00:00
Minor_axis axis: A to D

因此,不确定确切的数据是什么,可能显示了一个复制

我遇到了同样的问题。这是熊猫和皮茨之间的不相容。问题是:

您可以通过直接取消勾选来解决此问题:

打开'file_name.pkl','rb'作为f: panel=pickle.loadf
我遇到了同样的问题。这是熊猫和皮茨之间的不相容。问题是:

您可以通过直接取消勾选来解决此问题:

打开'file_name.pkl','rb'作为f: panel=pickle.loadf

哦,对不起,我弄错了!我用正确的代码编辑了原始帖子-错误如前所述。哎呀,对不起,我错了!我用正确的代码编辑了原始帖子-错误如前所述。