簡體   English   中英

插入大數據Python

[英]Interpolate large data Python

我正在研究一個使用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使得我在xy點的函數值分別為0.00010.001 ,即我想評估函數fxy at

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

OverflowError: Too many data points to interpolate

分別使用這些功能。 創建插值數據的最佳方法是什么?

顯然,你在你的NumPy盤子上放了太多分,不好意思聽到這個。

我的建議是首先繪制數據,找到相對線性的區域,然后跳過它們。 也就是說,嘗試將陣列分解為不同的區域,並執行分段插值。

您的數據位於常規網格上:嘗試使用RectBivariateSpline。

bisplrep / interp2d用於分散數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM