我正在使用 stats.ttest_ind:
a = list(range(0, 10))
b = list(range(20, 40, 2))
out = stats.ttest_ind(a, b)
print(out)
#Output
TtestResult(statistic=-11.443934479174386, pvalue=1.0790209865144616e-09, df=18.0)
我可以使用
out[0]
和 out[1]
提取统计数据和 pvalue,但是当我尝试使用 out[2]
提取 df 时,出现以下错误:IndexError: tuple index out of range
。 out[-1]
也不起作用。
我也尝试过以下代码:
t_stat, pvalue, df = stats.ttest_ind(a,b)
但这导致了以下错误:
ValueError: not enough values to unpack (expected 3, got 2)
当我尝试提取它时,df 值似乎不在
out
中。 out 的长度为 2,我只能获取前 2 个元素。
有谁知道这里发生了什么或者我该如何解决这个问题?
out
是一个 scipy.stats._stats_py.TtestResult
对象。
您可以通过以下方式获取自由度:
out.df
#18.0
如果你这样做:
list(out)
你得到:
[-11.443934479174386, 1.0790209865144618e-09]
所以,
out[2]
和out[-1]
不会给出df。