加载 pickle 文件后引发异常:'DataFrame' 对象没有属性“_data”
Exception raised after loading pickle file: 'DataFrame' object has no attribute '_data'
我正在尝试加载包含字典的 pickle 文件:
import pickle as pk
# load dMAD
dMAD_open = open(r"dMAD.pickle", "rb")
dMAD = pk.load(dMAD_open)
dMAD_open.close()
type(dMAD) # prints correctly: "dict"
dMAD # throws the error message
加载工作没有引发错误,但是当我尝试打印 dMAD(应该重新运行字典)时,我收到此错误消息:
AttributeError: 'DataFrame' object has no attribute '_data'
我已经尝试过不同的 conda 环境和不同的 python 安装(python 3.7.7 和 3.8.2)。
pickle 文件和我的代码在同一目录中。
它在不同的计算机上工作。它对我不起作用,即使我使用相同的 conda 环境也是如此。
我该如何解决这个问题?任何帮助表示赞赏。
您可能想像这样手动捕获异常:
try:
open(r"dMAD.pickle", "rb")
catch Exception as e:
print(e) # you will find what is going on here
甚至可以通过
更深入地了解这个字典中的内容
dir(dMAD)
如果您认为这是环境错误,请继续从头开始重新安装,很可能是这种情况。
请记住,如果您最近在本地计算机上升级了 python 版本,如果不在同一路径中保持旧版本可用,该版本会破坏所有旧虚拟环境。
尝试删除旧环境并安装新环境。
最终,它在 运行 python 3.8.5 和 pandas 1.1.3
环境中工作
我正在尝试加载包含字典的 pickle 文件:
import pickle as pk
# load dMAD
dMAD_open = open(r"dMAD.pickle", "rb")
dMAD = pk.load(dMAD_open)
dMAD_open.close()
type(dMAD) # prints correctly: "dict"
dMAD # throws the error message
加载工作没有引发错误,但是当我尝试打印 dMAD(应该重新运行字典)时,我收到此错误消息:
AttributeError: 'DataFrame' object has no attribute '_data'
我已经尝试过不同的 conda 环境和不同的 python 安装(python 3.7.7 和 3.8.2)。 pickle 文件和我的代码在同一目录中。 它在不同的计算机上工作。它对我不起作用,即使我使用相同的 conda 环境也是如此。
我该如何解决这个问题?任何帮助表示赞赏。
您可能想像这样手动捕获异常:
try:
open(r"dMAD.pickle", "rb")
catch Exception as e:
print(e) # you will find what is going on here
甚至可以通过
更深入地了解这个字典中的内容dir(dMAD)
如果您认为这是环境错误,请继续从头开始重新安装,很可能是这种情况。 请记住,如果您最近在本地计算机上升级了 python 版本,如果不在同一路径中保持旧版本可用,该版本会破坏所有旧虚拟环境。
尝试删除旧环境并安装新环境。
最终,它在 运行 python 3.8.5 和 pandas 1.1.3
环境中工作