Передискретизация нерегулярных данных в регулярную сетку в Python

Мне нужно преобразовать 2D-данные в обычную сетку.

Вот как выглядит мой код:

import matplotlib.mlab as ml
import numpy as np

y = np.zeros((512,115))
x = np.zeros((512,115))

# Just random data for this test:
data = np.random.randn(512,115)

# filling the grid coordinates:    
for i in range(512):
    y[i,:]=np.arange(380,380+4*115,4)

for i in range(115):
    x[:,i] = np.linspace(-8,8,512)
    y[:,i] -=  np.linspace(-0.1,0.2,512)

# Defining the regular grid
y_i = np.arange(380,380+4*115,4)
x_i = np.linspace(-8,8,512)

resampled_data = ml.griddata(x,y,data,x_i,y_i)

(512,115) is форма 2D-данных, и я уже установил mpl_toolkits.natgrid.

Моя проблема заключается в том, что я возвращаю замаскированный массив, где большинство записей - nan, вместо массива, который в основном состоит из обычных записей и просто нан на границах.

Может ли кто-нибудь указать мне, что я делаю неправильно?

Спасибо!

19
задан Dzz 5 October 2010 в 14:57
поделиться