插入大数据Python

时间:2012-09-03 17:27:22

标签: python numpy scipy interpolation

我正在开发一个使用NumPySciPy的Python项目。我有以下内容:

x = numpy.arange(-5,5,0.01)
y = numpy.arange(-5,5,0.01)

我还有xy的功能

# fxy = function of x and y in a grid
# fxy.shape = (y.shape[0], x.shape[0])

我想插入fxy,以便我在[{1}}和x点上的函数值分开y0.0001,即我想要评估

处的函数0.001
fxy

我一直在尝试使用finer_x = numpy.arange(-5,5,0.0001) finer_y = numpy.arange(-5,5,0.0001) # finer_fxy = function of finer_x and finer_y in a grid # finer_fxy.shape = (finer_y.shape[0], finer_x.shape[0]) 中的bisplrepinterp2d函数,但我得到了

scipy.interpolate

File "/usr/lib/python2.7/dist-packages/scipy/interpolate/fitpack.py", line 873, in bisplrep
tx,ty,nxest,nyest,wrk,lwrk1,lwrk2)
MemoryError

分别使用这些功能。创建插值数据的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

显然,你在你的NumPy盘子上放了太多分,不好意思听到这个。

我的建议是首先绘制数据,找到相对线性的区域,然后跳过它们。也就是说,尝试将阵列分解为不同的区域,并执行分段插值。

答案 1 :(得分:1)

您的数据位于常规网格上:尝试使用RectBivariateSpline。

bisplrep / interp2d用于分散数据。