Agrupar por columnas con valores de NaN (faltantes)

Tengo un DataFrame con muchos valores faltantes en las columnas que deseo agrupar por:

import pandas as pd
import numpy as np
df = pd.DataFrame({'a': ['1', '2', '3'], 'b': ['4', np.NaN, '6']})

In [4]: df.groupby('b').groups
Out[4]: {'4': [0], '6': [2]}

ver que Pandas ha eliminado las filas con valores de destino de NaN. (Quiero incluir estas filas!)

Dado que necesito muchas de estas operaciones (muchos valores tienen valores faltantes) y uso funciones más complicadas que solo medianas (normalmente bosques aleatorios), quiero evitar escribir partes de código demasiado complicadas.

¿Alguna sugerencia? ¿Debo escribir una función para esto o hay una solución simple?

Respuestas a la pregunta(6)

Su respuesta a la pregunta