ptest на groupby () python - PullRequest
       8

ptest на groupby () python

0 голосов
/ 17 ноября 2018

У меня есть данные, как показано ниже:

Region   Votes

    A          23
    B          26
    A          32
    B          46
    A          32
    B          24

Я вычислил среднее количество голосов для региона A и B по следующему коду data.groupby('Region')['Votes'].mean(). Теперь я должен сделать ptest, чтобы определить, является ли эта разницастатистически значимый. Я попробовал этот код

one = data[data['Region']=='one']
two = data[data['Region']=='two']

print(st.ttest_ind(one['Votes'], two['Votes'])).

Я получаю Nan вместо значений, т. е.

  Ttest_indResult(statistic=nan, pvalue=nan)

Может кто-нибудь сказать мне, что я делаю неправильно?

1 Ответ

0 голосов
/ 17 ноября 2018

Если вы измените:

one = data[data['Region']=='one']
two = data[data['Region']=='two']

до

one = data[data['Region']=='A']
two = data[data['Region']=='B']

Это будет работать. Или, сделайте все сразу, используя:

st.ttest_ind(data.loc[data.Region == 'A', 'Votes'], data.loc[data.Region == 'B', 'Votes'])
#Ttest_indResult(statistic=-0.3927922024247863, pvalue=0.7145066681331176)

Или используйте групповой режим, сначала преобразовав Votes из каждого региона в список:

gb = df.groupby('Region')['Votes'].apply(list)
st.ttest_ind(*gb)
#Ttest_indResult(statistic=-0.3927922024247863, pvalue=0.7145066681331176)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...