开发者社区 问答 正文

Pandas检查两个值是否在统计上不同

我有一个pandas数据框,其中包含一些“男性”值和一些“女性”值。我想计算两个性别值的百分比是否显着不同,并说明这些比率的置信区间。下面是示例代码:

data={}
data['gender']=['male','female','female','male','female','female','male','female','male']
data['values']=[10,2,13,4,11,8,14,19,2]
df_new=pd.DataFrame(data)
df_new.head()   # make a simple data frame


    gender  values
0   male    10
1   female  2
2   female  13
3   male    4
4   female  11

df_male=df_new.loc[df_new['gender']=='male']
df_female=df_new.loc[df_new['gender']=='female']   # separate male and female

# calculate percentages
male_percentage=sum(df_male['values'].values)\*00/sum(df_new['values'].values)
female_percentage=sum(df_female['values'].values)\*00/sum(df_new['values'].values)

# want to tell whether both percentages are statistically different or not and what are their confidence interval rates
print(male_percentage)
print(female_percentage)

任何帮助都感激不尽。谢谢!

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 20:15:07 465 分享 版权
1 条回答
写回答
取消 提交回答
  • 使用t检验。在这种情况下,请使用两次t检验,这意味着您正在比较两个样本的值/平均值。

    我正在采用另一种假设;A!= B 我通过测试原假设A = B来做到这一点。这是通过计算ap值来实现的。当p降到称为alpha的临界值以下时,我将拒绝原假设。alpha的标准值为0.05。低于5%的概率,样品将产生与观察值相似的模式

    提取样本,在这种情况下为“值”列表

    A=df[df['gender']=='male']['values'].values.tolist()
    B=df[df['gender']=='female']['values'].values.tolist()
    

    使用scipy库,执行t -test

    from scipy import stats
    t_check=stats.ttest_ind(A,B)
    t_check
    alpha=0.05
    if(t_check[1]<alpha):
        print('A different from B')
    

    回答来源:stackoverflow

    2020-03-23 20:15:11
    赞同 展开评论
问答分类:
问答标签:
问答地址: