Т-тест, получающий выход Nan для обоих - PullRequest
0 голосов
/ 08 апреля 2020

Каждый t-тест, который я запускаю, выдает nan как для statisti c, так и для значения p. Я проверил мои фреймы данных, и они выглядят нормально. Кто-нибудь знает, что происходит? Заранее спасибо!

e_tr.groupby('Rest Periods')['Wages and Hours'].mean()

#t test
cat1 = e_tr[e_tr['Rest Periods']==0]
cat2 = e_tr[e_tr['Rest Periods']==1]
# cat1['Wages and Hours'].value_counts()
sp.stats.ttest_ind(cat1.dropna()['Rest Periods'], cat2.dropna()['Rest Periods'])
ttest_ind(cat1['Wages and Hours'], cat2['Wages and Hours'])

Вывод: Ttest_indResult (статистика = nan, pvalue = nan)

1 Ответ

1 голос
/ 08 апреля 2020

Возможно, это связано с тем, что ваш тест и контрольная строка в столбце 'Заработная плата и часы' все еще содержат np.nan. Попробуйте сначала очистить ваши данные:

e_tr=e_tr[e_tr['Wages and Hours'].notnull()]

Затем назначьте регистр и контроль, как вы это сделали:

cat1 = e_tr[e_tr['Rest Periods']==0]
cat2 = e_tr[e_tr['Rest Periods']==1]

Так что теперь, если вы запустите:

ttest_ind(cat1['Wages and Hours'], cat2['Wages and Hours'])

Следует дайте ожидаемую статистику.

...