Python中t-test结果转DataFrame及summary属性报错解决方法
报错原因
scipy.stats.ttest_ind返回的Ttest_indResult对象本身没有summary()方法,该方法是statsmodels库中统计模型类的专属方法,不适用于scipy的t检验返回结果。
解决方法
提取p值与t统计量
直接通过返回对象的内置属性取值即可:
from scipy.stats import ttest_ind import pandas as pd cat1 = df[df['Drug']=='Drug A'] cat2 = df[df['Drug']=='Drug B'] results = ttest_ind(cat1['intake'], cat2['intake']) # 提取核心结果 t_stat = results.statistic p_val = results.pvalue
转换为DataFrame格式
将提取到的结果封装为字典后传入pandas.DataFrame即可:
ttest_df = pd.DataFrame({ "对比组别": ["Drug A vs Drug B"], "t统计量": [t_stat], "p值": [p_val] })
如果后续需要批量汇总多组t检验结果,只需把多组结果的字典逐行拼接即可。
内容的提问来源于stack exchange,提问作者user17304179
相关产品推荐
相关产品推荐

