python 两样本T检验

import os
import pandas as pd

"""
检验其他变量是否跟avg_exp有关
avg_exp是连续变量,作为因变量; 研究自变量类型对avg_exp的影响
1. 自变量是二分类变量     两样本T检验
2. 自变量是多分类变量      方差分析
3. 自变量是连续变量       相关分析


"""


os.chdir(r'D:\pycharm程序文件\练习1')
data = pd.read_csv("creditcard_exp.csv")

print(data.shape)

"""
income ~ Acc 收入是否影响开卡

原假设是 :  收入不影响开卡, 也即是 开卡的人收入 == 不开卡的人收入

"""
# 用groupby()来找出分类变量和连续变量的关系   用法: 连续变量.groupby(分类变量).连续变量的统计量函数
# 如: data1.groupby(data2).mean() 表示: 将 data2中每一类变量对应的data1的值进行求均值, 以dataframe的形式输出
group = data.Income.groupby(data.Acc).describe()
# print(group)
"""
输出结果:
     count      mean       std    ...          50%       75%       max
Acc                               ...                                 
0     30.0  3.149333  1.406482    ...     2.905000  3.807500   8.40000
1     70.0  7.424706  3.077986    ...     6.443525  8.494237  16.90015


"""
# ['Acc']==0表示不开卡
data1 = data[data['Acc']==0]['Income'] # 将不开卡人的收入赋值给data1
data2 = data[data['Acc']==1]['Income'] # 将开卡人的收入赋值给data2

from scipy import stats

# 查看 两样本t检验(假设检验) 的 t值和p值,用于判断是否接受原假设
t_and_p = stats.stats.ttest_ind(data1,data2)
print(t_and_p)
"""
输出结果:
(statistic=-7.2734332066230225, pvalue=8.690094133636065e-11)
样本数量是100,α 取值为0.05, p值远小于α值, 所以拒接原假设

"""




"""
两样本T检验(二分类变量~连续变量)练习:
1. 查看性别对收入是否有影响 gender~Income
2. Ownrent~Income
3. Selfempl~Income

"""

print( data['Income'].groupby(data['gender']).describe() )
print( data['Income'].groupby(data['Ownrent']).agg(['mean','median','max']) )
print( data['Income'].groupby(data['Selfempl']).agg(['mean','median']) )

# 查看性别对收入是否有影响 gender~Income
gender1 = data[data['gender']==1]['Income']
gender0 = data[data['gender']==0]['Income']
# 求t,p值
t_p_value_g = stats.stats.ttest_ind(gender0,gender1)
print("t,p值 {}".format(t_p_value_g))

# Ownrent~Income
Ownrent1 =data[data['Ownrent']==1]['Income']
Ownrent0 =data[data['Ownrent']==0]['Income']

t_p_value_o = stats.stats.ttest_ind(Ownrent0,Ownrent1)
print(t_p_value_o)



你可能感兴趣的:(python,python,两样本T检验)