属性错误:无法在<模块"xarray.core.indexing"上获取属性"PandasIndexAdapter"



我正试图取消拾取文件,但在运行以下代码时出现此错误:

import pickle
import pandas as pd
import numpy
unpickled_df = pd.read_pickle("./ToyData.pickle")
unpickled_df

import pickle
# load : get the data from file
data = pickle.load(open('ToyData.pickle', "rb"))

错误输出:


AttributeError                            Traceback (most recent call last)
<ipython-input-3-4f30cc427816> in <module>
1 import pickle
2 # load : get the data from file
----> 3 data = pickle.load(open('ToyData.pickle', "rb"))
4 # loads : get the data from var
5 #data = pickle.load(var)
AttributeError: Can't get attribute 'PandasIndexAdapter' on <module 'xarray.core.indexing' from 'C:\Users\User\anaconda3\lib\site-packages\xarray\core\indexing.py'>

我该怎么解决这个问题。我尝试使用以下代码安装xarray、dask和其他xarray依赖项:

python -m pip install "xarray[complete]"
python -m pip install "xarray[io]"        # Install optional dependencies for handling I/O
#python -m pip install "xarray[accel]"     # Install optional dependencies for accelerating xarray
#python -m pip install "xarray[parallel]"  # Install optional dependencies for dask arrays
#python -m pip install "xarray[viz]"       # Install optional dependencies for visualization

conda install xarray-0.16.1-py_0

我用anaconda jupyter笔记本来运行上面的脚本。我无法读取pickle文件。

您不能在最新更新的xarray版本中拾取在以前版本的xaarray中生成的le.load文件。

这是一个已知的错误,没有解决方案;不建议对长期储存进行酸洗";。https://github.com/pydata/xarray/discussions/5642

.hdf或.json是长期存储数据的更好选择,因为它们更有可能在未来的版本中得到支持。

我对results = torch.load("results.pth.tar")也有同样的问题;AttributeError: Can't get attribute 'PandasIndexAdapter' on <module 'xarray.core.indexing'";。

我通过将我电脑上的版本更改为保存.pth.tar文件的版本来解决这个问题。在我的情况下,该文件是用xarray版本"0.14.1"保存的,在我的compter上我有"2022.3.0"。我用pip install xarray==0.14.1进行了更改,它有效!

如果您能够找到版本";ToyData.spickle";与在笔记本的环境中安装此版本一起保存。否则,你可以尝试每一个版本的xarray(祝你好运(!

我希望它能有所帮助!

最新更新