stats.ttest_ind:提取df值

问题描述 投票:0回答:1

我正在使用 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 个元素。 有谁知道这里发生了什么或者我该如何解决这个问题?

python scipy t-test
1个回答
0
投票

out
是一个
scipy.stats._stats_py.TtestResult
对象。

您可以通过以下方式获取自由度:

out.df
#18.0

如果你这样做:

list(out)

你得到:

[-11.443934479174386, 1.0790209865144618e-09]

所以,

out[2]
out[-1]
不会给出df。

© www.soinside.com 2019 - 2024. All rights reserved.