NaN出现在Python中的Tukey HSD结果中

时间:2019-07-29 17:18:52

标签: python nan tukeyhsd

我正在尝试执行Tukey的HSD测试,以查看我的数据中几个组的均值是否存在显着差异。例如,在这里我试图查看“类”组在变量“ acad_se_communicate_needs”中是否存在均值差异。但是,我在结果中遇到NaN值。这是怎么回事,我该如何解决?

我已经使用statsmodels函数来做到这一点。我避免了需要将数据分成每个组的不同数据帧的方法,因为我必须对多个变量执行此分析。而且,这些方法对我来说真的很难理解。

SELECT CAST('19-MAR-2018 12:00' AS DATETIME)

我的输出如下...到处都是楠!

from statsmodels.stats.multicomp import pairwise_tukeyhsd
from statsmodels.stats.multicomp import MultiComparison

mc = MultiComparison(clean['acad_se_communicate_needs'], clean['Class'])
result = mc.tukeyhsd()
print(result)

有nan值(缺少)。我尝试了一些代码来删除缺失的值。该代码看起来像
   sm.stats.multicomp.pairwise_tukeyhsd('acad_se_communicate_needs','Class',alpha = 0.05,missing ='drop')

但是,我收到一条错误消息,指出“ pairwise_tukeyhsd()收到了意外的关键字参数'missing'”。

2 个答案:

答案 0 :(得分:0)

我最终创建了一个新的数据框,过滤仅代表两个变量的列,然后删除缺少的值。然后,我执行了Tukey的HSD测试。

    cleanTukey1 = clean.filter(items=['acad_se_communicate_needs', 'Class']).dropna()
    from statsmodels.stats.multicomp import pairwise_tukeyhsd
    from statsmodels.stats.multicomp import MultiComparison
    mc1 = MultiComparison(cleanTukey1['acad_se_communicate_needs'], cleanTukey1['Class'])
    result1 = mc1.tukeyhsd()
    print(result1)
    print(mc1.groupsunique)

答案 1 :(得分:0)

尝试一下:

import pandas
import statsmodels.formula.api as smf
import statsmodels.stats.multicomp as multi 
test = <df>.filter(items=['<variable 1>', '<variable 2>']).dropna()
mc1 = multi.MultiComparison(test['<quantitative variable>'], test['<categorical variable>'])
result1 = mc1.tukeyhsd()
print(result1)