No-*_*Day 28 python pickle dataframe pandas
使用时:
with open("data_file.pickle", "rb") as pfile:
raw_data = pickle.load(pfile)
Run Code Online (Sandbox Code Playgroud)
我收到错误:
AttributeError: Can't get attribute '_unpickle_block' on <module 'pandas._libs.internals' from '/opt/conda/lib/python3.8/site-packages/pandas/_libs/internals.cpython-38-x86_64-linux-gnu.so'>
Run Code Online (Sandbox Code Playgroud)
类似问题的另一个答案建议检查我正在使用的pickle 版本。在我开发代码的机器上和运行代码的服务器上都是一样的。我到处寻找都没有答案。请帮忙。
Cor*_*ien 24
我认为问题不是pickle模块而是Pandas版本。您的文件可能是使用旧版本的Pandas. 现在您使用较新的版本,pickle无法“反序列化”对象,因为 API 发生了变化。
尝试降级您的Pandas版本并重新加载文件。您也可以尝试使用pd.read_pickle.
小智 8
就我而言,我必须升级而不是降级 Pandas 版本。只要确保它们匹配即可。给未来读者的一些提示:
询问版本:
import pandas as pd
pd.__version__
Run Code Online (Sandbox Code Playgroud)
并更改版本(替换为您自己的版本)
%pip install pandas==1.4.1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44910 次 |
| 最近记录: |