如何使用假设检验来比较组

How to use hypothesis testing to compare groups

我有一个数据框,其中包含名称、类型和每场比赛的营业额。下面给出了该 df 的示例。

Name    Type    Turnover per game
kevin   A       5
duke    B       10
jonas   A       12
angly   A       2
anjelo  B       10
wily    A       4
nick    A       8

我想做的是实施假设检验来检查,A 类球员的平均失误比 B 类球员少。

我尝试了什么:

首先,按类型分组:

df.groupby('Type').mean()

但我不知道如何实施假设检验来检查上述条件。

Hypothesis testing can be done with ttest_ind:

import pandas as pd
from scipy import stats

data = {'Name': ['kevin', 'duke', 'jonas', 'angly', 'anjelo', 'wily', 'nick'],
        'Type': ['A', 'B', 'A', 'A', 'B', 'A', 'A'],
        'Turnover': [5, 10, 12, 2, 10, 4, 8]}
df = pd.DataFrame(data)

t,p = stats.ttest_ind(df.Turnover[df.Type.eq('A')], df.Turnover[df.Type.eq('B')], 
                      equal_var=False, alternative='less')

if p < 0.05:
    print('Type A players have average less turnovers than Type B players')
else:
    print('Null hypothesis (equal means) cannot be rejected.')

在您的示例中,类型 AB 球员的失误相等的原假设将被拒绝,而备择假设类型 A 球员的平均失误比类型少B 玩家将被接受。有关详细信息,请参阅上面链接的维基百科文章中的 解释 部分。

你提到的假设检验,如果我没理解错的话,看起来很前卫。

按'Type'

分组得到营业额均值
df_group_by_type = df.groupby('Type')['Turnover per game'].apply(np.mean)
df_group_by_type

Type
A    6.2 
B    10.0

然后只需检查所需的条件

df_group_by_type['A'] < df_group_by_type['B']
True