首页 > 解决方案 > 为什么我不能腌制 interp1D 函数但 interp2D 函数

问题描述

我正在尝试将插值函数腌制到二进制文件中。我想知道为什么它适用于 interp2d 函数而不适用于 interp1d 函数。错误消息是: PicklingError: Can't pickle type 'instancemethod': it's not found as builtin .instancemethod

有没有简单的方法可以绕过这个问题?你有什么解释吗?

非常感谢那些可以提供帮助的人!

示例代码:

import pickle
import numpy as np
from scipy import interpolate

X = np.array([1,2,3])
Y = np.array([1,2])
Z1 = np.array([[10,10,10],[20,20,20]])
F1 = interpolate.interp2d(X,Y,Z1)
File = open("F1.bin","wb")
pickle.dump(F1,File,pickle.HIGHEST_PROTOCOL)

X = np.array([1,2,3])
Z2 = np.array([10,10,10])
F2 = interpolate.interp1d(X,Z2)
File = open("F2.bin","wb")
pickle.dump(F2,File,pickle.HIGHEST_PROTOCOL)

标签: python-2.7interpolationpickleinstance-methods

解决方案


推荐阅读