interpolar valores perdidos 2d python

Tengo una matriz 2d (o matriz si lo prefiere) con algunos valores faltantes representados comoNaN. Los valores faltantes están típicamente en una tira a lo largo de un eje, por ejemplo:

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

donde me gustaría reemplazar elNaN's por números algo razonables.

Miré la triangulación delaunay, pero encontré muy poca documentación.

Traté de usarastropyconvolucionar ya que admite el uso de matrices 2d, y es bastante sencillo. El problema con esto es que la convolución no es interpolación, mueve todos los valores hacia el promedio (que podría mitigarse utilizando un núcleo estrecho).

Esta pregunta debería ser la extensión bidimensional natural paraesta publicación. ¿Hay alguna manera de interpolar sobreNaN/ valores perdidos en una matriz 2d?