MultiComparision.tukeyhsd()的类型错误

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

我有一个包含13列的数据集,我想使用statsmodels.stats.multicomp.MultiComparison模块对其中一列执行多重比较ANOVA。但是我收到了我不理解的类型错误消息。

我在这里编写的相同代码可在其他机器上使用,我尝试更新所有python和conda模块,并尝试再次执行该代码,但结果相同。

import statsmodels.api as sm  
multi_comp = sm.stats.multicomp.MultiComparison(data=df['col1'],groups=data['category'])   
result_string = multi_comp.tukeyhsd(alpha=0.05)
print(result_string)

我还尝试了其他方法,例如pairwise_tukeyhsd(),该方法也仍然存在相同的错误。除了这个multicomp模块之外,我其余的代码也可以正常工作。

TypeError                                                             Traceback (most recent call last) in module<module>  
      1 multi_comp = sm.stats.multicomp.MultiComparison(data=data['col1'], groups=data['category'])  
----> 2 result_string = multi_comp.tukeyhsd()  
      3 result_string  

~\Anaconda3\lib\site-packages\statsmodels\sandbox\stats\multicomp.py in tukeyhsd(self, alpha)  
   1011                                np.round(res[4][:, 0], 4),  
   1012                                np.round(res[4][:, 1], 4),  
-> 1013                                res[1]),  
   1014                           dtype=[('group1', object),    
   1015                                  ('group2', object),  

~\Anaconda3\lib\site-packages\statsmodels\compat\python.py in lzip(*args, **kwargs)  
     60   
     61     def lzip(*args, **kwargs):  
---> 62         return list(zip(*args, **kwargs))  
     63     
     64     def lmap(*args, **kwargs):  

TypeError: zip argument #4 must support iteration  
python python-3.x statsmodels
1个回答
0
投票

这可能是由于数据中category的可能值很少。如果只有2个可能的类别,MultiComp将不起作用。

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