【发布时间】:2017-10-24 17:51:19
【问题描述】:
我正在尝试使用 pyvttbl 对我的数据集执行 ANOVA,但我遇到了一个奇怪的错误。
这是我的代码:
import pyvttbl
df = pyvttbl.DataFrame()
df.read_tbl("ANOVA_MWE_input.csv")
print df
print type(df)
AN = df.anova('len', sub='id', bfactors=['p1', 'p2'])
输出是:
id name len p1 p2
=========================
0 AAA 32 1 0
1 BBB 33 2 0
2 CCC 29 3 0
3 DDD 22 4 0
<class 'pyvttbl.base.DataFrame'>
Traceback (most recent call last):File "/home/stefano/ownCloud/PycharmProjects/Stockh_cours/ANOVA_MWE.py", line 15, in <module>
AN = df.anova('len', sub='id', bfactors=['p1', 'p2'])
File "/usr/local/lib/python2.7/dist-packages/pyvttbl/base.py", line 1975, in anova
measure=measure, transform=transform, alpha=alpha)
File "/usr/local/lib/python2.7/dist-packages/pyvttbl/stats/_anova.py", line 713, in run
self._between()
File "/usr/local/lib/python2.7/dist-packages/pyvttbl/stats/_anova.py", line 751, in _between
cw = self._num2binvec(e,Nf)
File "/usr/local/lib/python2.7/dist-packages/pyvttbl/stats/_anova.py", line 1240, in _num2binvec
return list(array(list(zeros((p-len(b))))+b)+1.)
TypeError: 'float' object cannot be interpreted as an index
我真的不明白我的数据集中的浮点对象在哪里。你能帮忙吗?实际上,当我将其应用于我的真实表时,我得到了一个超出范围的错误。奇怪的是,MWE 只有 in_file 更改我才知道。
感谢您的任何建议。
【问题讨论】:
-
我遇到了同样的问题。我认为这个模块现在基本上已经死了。
-
我也这么认为。我解决了更换包裹的问题。
-
你是什么意思?
-
是的,我使用了
from statsmodels.stats.anova import anova_lm。它有不同的输出(信息量较少),但对于我的范围来说仍然足够。
标签: python python-2.7 floating-point anova