You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取stats.ttest_ind返回结果中的df值?

解决独立样本t检验结果中df无法提取的问题

问题原因

你打印出的TtestResult是scipy返回的自定义结果对象,它的打印展示会显示statistic、pvalue、df三个字段,但该对象仅将前两个字段设为可索引/解包的元素,df是对象的属性而非可迭代元素,所以直接用索引或三元解包会报错。

解决方法

1. 直接通过属性访问提取df

这是最直接的方式:

a = list(range(0, 10))
b = list(range(20, 40, 2))
out = stats.ttest_ind(a, b)
# 提取各值
t_stat = out[0]  # 或 out.statistic
pvalue = out[1]  # 或 out.pvalue
df = out.df  # 关键:通过属性名访问df

2. 一次性获取所有三个值(避免重复调用函数)

如果想一次性拿到三个结果,不要直接解包,而是通过对象属性赋值:

result = stats.ttest_ind(a, b)
t_stat, pvalue, df = result.statistic, result.pvalue, result.df

补充说明

scipy设计这个结果对象时,默认将常用的统计量和p值设为可迭代元素,自由度作为附加属性存在,所以即便打印时能看到df,也不能用索引或三元解包的方式获取,必须通过.访问属性。

内容的提问来源于stack exchange,提问作者MaaikevR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 01:03:24