interpolieren die fehlenden Werte 2d-python

Ich habe ein 2d-array(oder matrix, wenn Sie bevorzugen), mit ein paar fehlenden Werte dargestellt als
NaN. Die fehlenden Werte werden in der Regel in einem Streifen entlang einer Achse, z.B.:

1   2   3 NaN   5
2   3   4 Nan   6
3   4 Nan Nan   7
4   5 Nan Nan   8
5   6   7   8   9

wo würde ich gerne ersetzen, die NaN's durch etwas vernünftiges zahlen.

Schaute ich in delaunay triangulation, fand aber nur sehr wenig Dokumentation.

Versuchte ich mit astropy's convolve, wie es unterstützt die Verwendung von 2d-arrays, und ist Recht einfach.
Das problem dabei ist, dass die Faltung ist keine interpolation, es bewegt sich alle Werte auf den Mittelwert (das könnte verhindert werden, indem eine schmale kernel).

Diese Frage sollte die Natürliche 2-dimensionale Erweiterung von dieser Beitrag. Gibt es eine Möglichkeit, zu interpolieren, über NaN/fehlende Werte in ein 2d-array?

  • Es gibt viele Möglichkeiten, wie Sie könnte, interpoliert diese. Eine Schwierigkeit ist, dass Ihre Daten nicht mehr rechteckig, und viele einfache 2d-interpolation-algorithmen erfordern, aber es ist immer noch möglich. Haben Sie Besondere Anforderungen für die interpolation?
  • Zum Beispiel diese docs.scipy.org/doc/scipy-0.14.0/reference/generated/... vermutlich tut Sie das, was Sie brauchen. Nur pass in die Daten-Punkte, die nicht NaN und dann resample am NaN nach Konstruktion der interpolation.
  • Auch diese Frage: stackoverflow.com/questions/5146025/... zu sein scheint, im wesentlichen die gleichen.
  • Vielen Dank für die links, ich denke, griddata in der Nähe, was ich suchte.
InformationsquelleAutor M.T | 2016-06-06
Schreibe einen Kommentar