为啥 t-test 返回 nan/pandas python

Posted

技术标签:

【中文标题】为啥 t-test 返回 nan/pandas python【英文标题】:Why does t-test return nan/pandas python为什么 t-test 返回 nan/pandas python 【发布时间】:2021-10-04 20:25:19 【问题描述】:

df:

gender   order
F         1
F         1
M         1
F         1
M         1
F         1

目的:检查 F 和 M 的均值是否显着不同。我想检查订单 1 的女性和男性之间是否存在显着差异。(我觉得有问题,但现阶段无法弄清楚)。结果我的代码给出了Ttest_indResult(statistic=nan, pvalue=nan);我在下面的代码中使用了这个ref:

from scipy.stats import ttest_ind
cat1 = df[df['gender']=='F']
cat2 = df[df['gender']=='M']
t_tst_rsult = ttest_ind(cat1['order'], cat2['order'])
print(t_tst_rsult)

【问题讨论】:

你看过cat1['order']cat2['order']吗?它们确实是浮点系列吗? 两组(MF)具有相同的值,因此测试不会检测到差异,因此是 nan pvalues 正如 Simon 所说的 +1,更改订单列中的值并重新运行相同的代码,您会看到正确的结果 好吧,因为值是相同的,所以实际上没有区别 如果order 中的所有内容都为 1,则没有标准偏差或变异,那么进行任何测试都没有任何意义 【参考方案1】:

如果有人遇到同样的问题,更好的测试是One Sample Test of Proportions。

【讨论】:

以上是关于为啥 t-test 返回 nan/pandas python的主要内容,如果未能解决你的问题,请参考以下文章

科研论文里的paired t-test

科研论文里的paired t-test

python 值比较判断,np.nan is np.nan 却 np.nan != np.nan ,pandas 单个数据框值判断nan

T统计量(T-statistic)和T检验(T-test)是一回事吗?如何不是,它们之间有啥关系?

如何用 numpy 计算统计“t-test”

如何用 numpy 计算统计“t-test”