我有一个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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
使用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