【发布时间】:2021-02-19 01:49:55
【问题描述】:
我有一个非常大的数据框(12,000 行 x 95 列),我想遍历每一列并运行 ANOVA,将结果附加到列表中。
results = []
for i in df.columns[1:]:
mod = ols('var ~ C({})'.format(i), data = df).fit()
aov = sm.stats.anova_lm(mod, typ = 2)
results.append(aov)
我分别在几列上运行了相同的代码,并且在此循环中的前 5 列上运行了相同的代码,并且两者都有效。但是,当我在整个数据集上运行时,我得到了这个错误:
ValueError: must have at least one row in constraint matrix
由于它适用于前 5 列,我认为它与我的数据有关,但我不确定是什么以及在哪里。
我对 python 不是很有经验,但我认为错误出现在此代码块的第 50 行左右 (https://github.com/pydata/patsy/blob/master/patsy/constraint.py)
【问题讨论】:
标签: python statsmodels valueerror anova