[英]Loading dataframe from 1.1.5 fails on pandas 1.0.1
我有一个 dataframe 保存到一个泡菜(还有一堆其他的东西,作为字典)。 使用 pandas 版本 1.1.5 时保存。
我正在尝试使用 1.0.1 版本打开它,但出现以下错误
File "<stdin>", line 1, in <module>
File "/opt/conda/lib/python3.7/site-packages/pandas/core/generic.py", line 5272, in __getattr__
if self._info_axis._can_hold_identifiers_and_holds_name(name):
File "/opt/conda/lib/python3.7/site-packages/pandas/core/generic.py", line 5272, in __getattr__
if self._info_axis._can_hold_identifiers_and_holds_name(name):
File "/opt/conda/lib/python3.7/site-packages/pandas/core/generic.py", line 5272, in __getattr__
if self._info_axis._can_hold_identifiers_and_holds_name(name):
[Previous line repeated 493 more times]
File "/opt/conda/lib/python3.7/site-packages/pandas/core/generic.py", line 493, in _info_axis
return getattr(self, self._info_axis_name)
File "/opt/conda/lib/python3.7/site-packages/pandas/core/generic.py", line 5270, in __getattr__
return object.__getattribute__(self, name)
File "pandas/_libs/properties.pyx", line 63, in pandas._libs.properties.AxisProperty.__get__
File "/opt/conda/lib/python3.7/site-packages/pandas/core/generic.py", line 5270, in __getattr__
return object.__getattribute__(self, name)
RecursionError: maximum recursion depth exceeded while calling a Python object
有没有办法克服这个错误? 我可以再次保存 dataframe,但无法在两台计算机上降级或升级版本。
谢谢
我无法复制您的确切错误,但是当我尝试使用 pandas v1.0.1 读取由 pandas v1.1.5 创建的泡菜文件时,我得到了另一个错误。 我能够通过使用羽毛格式保存文件来解决这个问题。 示例代码:-
In [23]: cake # in version v1.1.5
Out[23]:
replicate recipe temperature angle temp
1 1 A 175 42 175
2 1 A 185 46 185
3 1 A 195 47 195
4 1 A 205 39 205
5 1 A 215 53 215
.. ... ... ... ... ...
266 15 C 185 28 185
267 15 C 195 25 195
268 15 C 205 25 205
269 15 C 215 31 215
270 15 C 225 25 225
In [24]: cake.reset_index().to_feather("cake.feather")
在 v1.0.1 中读取文件:
In [15]: cake = pd.read_feather("cake.feather")
In [16]: cake
Out[16]:
index replicate recipe temperature angle temp
0 1 1 A 175 42 175
1 2 1 A 185 46 185
2 3 1 A 195 47 195
3 4 1 A 205 39 205
4 5 1 A 215 53 215
.. ... ... ... ... ... ...
265 266 15 C 185 28 185
266 267 15 C 195 25 195
267 268 15 C 205 25 205
268 269 15 C 215 31 215
269 270 15 C 225 25 225
In [17]: pd.__version__
Out[17]: '1.0.1'
In [18]: cake.set_index('index') # To set the index
这种方法的缺点是对pyarrow
有额外的依赖,并且以羽毛二进制格式保存需要您像我上面所做的那样重置索引。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.