Python 2.7 “元组索引超出范围”读取面板
数据是一个面板 资料 尺寸:16个项目x 1954长轴x 6短轴 项目轴:地址至间谍 长轴:2004-12-01 00:00:00+00:00至2012-08-31 00:00:00+00:00 短轴:按价格开放 保存到磁盘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') 我得到: ` --------------------------------------索引器跟踪最近的调用
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
哦,对不起,我弄错了!我用正确的代码编辑了原始帖子-错误如前所述。哎呀,对不起,我错了!我用正确的代码编辑了原始帖子-错误如前所述。