NumPy: calcule promedios con NaNs eliminados

¿Cómo puedo calcular los valores medios de la matriz a lo largo de una matriz, pero para eliminarnan valores del cálculo? (Para personas R, piense enna.rm = TRUE).

Aquí está mi ejemplo [no] de trabajo:

import numpy as np
dat = np.array([[1, 2, 3],
                [4, 5, np.nan],
                [np.nan, 6, np.nan],
                [np.nan, np.nan, np.nan]])
print(dat)
print(dat.mean(1))  # [  2.  nan  nan  nan]

Con NaNs eliminados, mi salida esperada sería:

array([ 2.,  4.5,  6.,  nan])

Respuestas a la pregunta(12)

Su respuesta a la pregunta