我收到此错误
ValueError: unsupported pickle protocol: 4
来自我的代码
full_df = pd.read_pickle('df_userID.pickle')
使用python2.7
运行脚本时(在Ubuntu 14.04.5上,3.13.0-95-generic)
感谢您的帮助。
答案 0 :(得分:5)
看起来这个pickle文件的创建方式如下:
Import-Csv 'C:\path\to\input.csv' | ForEach-Object {
$row = $_
$row.id -replace '[{}]' -split ',' | ForEach-Object {
$row | Select-Object -Property *,@{n='id';e={$_}} -ExcludeProperty id
}
} | Export-Csv 'C:\path\to\output.csv' -NoType
或
pickle.dump(df, file_name, protocol=4)
和Python 2.x只接受协议:0,1,2
<强>解决方案:强>
使用Pandas酸洗或较低协议版本:
pickle.dump(df, file_name, protocol=-1)
或:
df.to_pickle('/path/to/df.pickle') # preferred and version independent solution
另一个选择是使用HDFStore(H5)或FeatherFormat - 这两个选项都非常快速可靠。