为啥 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']
吗?它们确实是浮点系列吗?
两组(M
和 F
)具有相同的值,因此测试不会检测到差异,因此是 nan pvalues
正如 Simon 所说的 +1,更改订单列中的值并重新运行相同的代码,您会看到正确的结果
好吧,因为值是相同的,所以实际上没有区别
如果order
中的所有内容都为 1,则没有标准偏差或变异,那么进行任何测试都没有任何意义
【参考方案1】:
如果有人遇到同样的问题,更好的测试是One Sample Test of Proportions。
【讨论】:
以上是关于为啥 t-test 返回 nan/pandas python的主要内容,如果未能解决你的问题,请参考以下文章
python 值比较判断,np.nan is np.nan 却 np.nan != np.nan ,pandas 单个数据框值判断nan