Błąd standardowy, ignorując NaN w grupach pandy grupowej

Mam dane załadowane do ramki danych z tym, że ma multiindeks dla nagłówków kolumn. Obecnie grupuję dane według indeksów kolumn, aby wziąć średnią grup i obliczyć 95% przedziały ufności w ten sposób:

from pandas import *
import pandas as pd
from scipy import stats as st

#Normalize to starting point then convert
normalized = (data - data.ix[0]) * 11.11111
#Group normalized data based on slope and orientation
grouped = normalized.groupby(level=['SLOPE','DEPTH'], axis=1)
#Obtain mean of each group
means = grouped.mean()
#Calculate 95% confidence interval for each group
ci = grouped.aggregate(lambda x: st.sem(x) * 1.96)

ale problem z tym polega na tym, że średnia funkcja używana w grupach ignoruje wartości NaN, podczas gdy funkcja scipy st.sem zwraca NaN, jeśli w grupie jest NaN. Muszę obliczyć błąd standardowy, ignorując NaNs, jak robi to średnia funkcja.

Próbowałem obliczyć 95% przedział ufności w następujący sposób:

#Calculate 95% confidence interval for each group
ci = grouped.aggregate(lambda x: np.std(x) / ??? * 1.96)

std in numpy da mi odchylenie standardowe ignorujące wartości NaN, ale muszę to podzielić przez pierwiastek kwadratowy rozmiaru grupy ignorując NaNs, aby uzyskać błąd standardowy.

Jaki jest najprostszy sposób obliczenia błędu standardowego przy ignorowaniu NaNs?

questionAnswers(1)

yourAnswerToTheQuestion