Le rééchantillonnage espacés de manière irrégulière des données d'une grille régulière en Python

J'ai besoin de ré-échantillonner 2D des données d'une grille régulière.

C'est ce que mon code ressemble à ceci:

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) est la forme des données en 2D, et j'ai déjà installé mpl_toolkits.natgrid.

Mon problème est que je serai de retour masqué de tableau, où la plupart des entrées sont nan, au lieu d'un tableau qui est principalement composé de participations ordinaires et nan juste à la frontière.

Quelqu'un pourrait-il m'indiquer ce que je fais de mal?

Merci!

  • Comme première étape, j'ai essayé d'exécuter votre exemple de code et ça ne fonctionne pas. Je suis un ValueError: x,y must be equal length 1-D arrays. Je suis en cours d'exécution matplotlib v0.99.3 de la Enthought de distribution. Pouvez-vous résoudre l'exemple de sorte qu'il reproduit le NaN, et également inclure plus d'infos à ce que l'entrée/sortie de votre calcul serait, peut-être avec un graphique si c'est possible?
  • Je pense que vous devez avoir natgrid de la mpl_toolkits installé pour l'exemple de travailler.
InformationsquelleAutor Dzz | 2010-10-05